(0) Obligation:

Clauses:

add(b, b, b).
add(X, b, X) :- binaryZ(X).
add(b, Y, Y) :- binaryZ(Y).
add(X, Y, Z) :- addz(X, Y, Z).
addx(one(X), b, one(X)) :- binary(X).
addx(zero(X), b, zero(X)) :- binaryZ(X).
addx(X, Y, Z) :- addz(X, Y, Z).
addy(b, one(Y), one(Y)) :- binary(Y).
addy(b, zero(Y), zero(Y)) :- binaryZ(Y).
addy(X, Y, Z) :- addz(X, Y, Z).
addz(zero(X), zero(Y), zero(Z)) :- addz(X, Y, Z).
addz(zero(X), one(Y), one(Z)) :- addx(X, Y, Z).
addz(one(X), zero(Y), one(Z)) :- addy(X, Y, Z).
addz(one(X), one(Y), zero(Z)) :- addc(X, Y, Z).
addc(b, b, one(b)).
addc(X, b, Z) :- succZ(X, Z).
addc(b, Y, Z) :- succZ(Y, Z).
addc(X, Y, Z) :- addC(X, Y, Z).
addX(zero(X), b, one(X)) :- binaryZ(X).
addX(one(X), b, zero(Z)) :- succ(X, Z).
addX(X, Y, Z) :- addC(X, Y, Z).
addY(b, zero(Y), one(Y)) :- binaryZ(Y).
addY(b, one(Y), zero(Z)) :- succ(Y, Z).
addY(X, Y, Z) :- addC(X, Y, Z).
addC(zero(X), zero(Y), one(Z)) :- addz(X, Y, Z).
addC(zero(X), one(Y), zero(Z)) :- addX(X, Y, Z).
addC(one(X), zero(Y), zero(Z)) :- addY(X, Y, Z).
addC(one(X), one(Y), one(Z)) :- addc(X, Y, Z).
binary(b).
binary(zero(X)) :- binaryZ(X).
binary(one(X)) :- binary(X).
binaryZ(zero(X)) :- binaryZ(X).
binaryZ(one(X)) :- binary(X).
succ(b, one(b)).
succ(zero(X), one(X)) :- binaryZ(X).
succ(one(X), zero(Z)) :- succ(X, Z).
succZ(zero(X), one(X)) :- binaryZ(X).
succZ(one(X), zero(Z)) :- succ(X, Z).
times(one(b), X, X).
times(zero(R), S, zero(RS)) :- times(R, S, RS).
times(one(R), S, RSS) :- ','(times(R, S, RS), add(S, zero(RS), RSS)).

Query: add(a,a,g)

(1) PrologToPrologProblemTransformerProof (SOUND transformation)

Built Prolog problem from termination graph ICLP10.

(2) Obligation:

Clauses:

binaryZA(zero(T75)) :- binaryZA(T75).
binaryZA(one(T79)) :- binaryB(T79).
binaryB(b).
binaryB(zero(T84)) :- binaryZA(T84).
binaryB(one(T88)) :- binaryB(T88).
addzC(zero(T154), zero(T155), zero(T153)) :- addzC(T154, T155, T153).
addzC(zero(T174), one(T175), one(T173)) :- addxD(T174, T175, T173).
addzC(one(T222), zero(T223), one(T221)) :- addyE(T222, T223, T221).
addzC(one(T264), one(T265), zero(T263)) :- addcF(T264, T265, T263).
succG(b, one(b)).
succG(zero(T295), one(T295)) :- binaryZA(T295).
succG(one(T303), zero(T302)) :- succG(T303, T302).
succZH(zero(T282), one(T282)) :- binaryZA(T282).
succZH(one(T290), zero(T289)) :- succG(T290, T289).
addCI(zero(T350), zero(T351), one(T349)) :- addzC(T350, T351, T349).
addCI(zero(zero(T377)), one(b), zero(one(T377))) :- binaryZA(T377).
addCI(zero(one(T389)), one(b), zero(zero(T388))) :- succG(T389, T388).
addCI(zero(T404), one(T405), zero(T403)) :- addCI(T404, T405, T403).
addCI(one(b), zero(zero(T431)), zero(one(T431))) :- binaryZA(T431).
addCI(one(b), zero(one(T443)), zero(zero(T442))) :- succG(T443, T442).
addCI(one(T458), zero(T459), zero(T457)) :- addCI(T458, T459, T457).
addCI(one(T472), one(T473), one(T471)) :- addcF(T472, T473, T471).
addcF(b, b, one(b)).
addcF(T276, b, T275) :- succZH(T276, T275).
addcF(b, T314, T313) :- succZH(T314, T313).
addcF(T330, T331, T329) :- addCI(T330, T331, T329).
addxD(one(T181), b, one(T181)) :- binaryB(T181).
addxD(zero(T186), b, zero(T186)) :- binaryZA(T186).
addxD(T202, T203, T201) :- addzC(T202, T203, T201).
addyE(b, one(T229), one(T229)) :- binaryB(T229).
addyE(b, zero(T234), zero(T234)) :- binaryZA(T234).
addyE(T250, T251, T249) :- addzC(T250, T251, T249).
addzJ(zero(T134), zero(T135), zero(T133)) :- addzC(T134, T135, T133).
addzJ(zero(T489), one(T490), one(T488)) :- addxD(T489, T490, T488).
addzJ(one(T507), zero(T508), one(T506)) :- addyE(T507, T508, T506).
addzJ(one(T519), one(T520), zero(T518)) :- addcF(T519, T520, T518).
addK(b, b, b).
addK(zero(T69), b, zero(T69)) :- binaryZA(T69).
addK(one(T93), b, one(T93)) :- binaryB(T93).
addK(b, T98, T98) :- binaryZA(T98).
addK(T114, T115, T113) :- addzJ(T114, T115, T113).
addK(b, zero(T527), zero(T527)) :- binaryZA(T527).
addK(b, one(T533), one(T533)) :- binaryB(T533).
addK(T548, T549, T547) :- addzJ(T548, T549, T547).
addK(zero(T576), zero(T577), zero(T575)) :- addzC(T576, T577, T575).
addK(zero(T596), one(T597), one(T595)) :- addxD(T596, T597, T595).
addK(one(T614), zero(T615), one(T613)) :- addyE(T614, T615, T613).
addK(one(T626), one(T627), zero(T625)) :- addcF(T626, T627, T625).

Query: addK(a,a,g)

(3) PrologToPiTRSProof (SOUND transformation)

We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes:
addK_in: (f,f,b)
binaryZA_in: (b)
binaryB_in: (b)
addzJ_in: (f,f,b)
addzC_in: (f,f,b)
addxD_in: (f,f,b)
addyE_in: (f,f,b)
addcF_in: (f,f,b)
succZH_in: (f,b)
succG_in: (f,b)
addCI_in: (f,f,b)
Transforming Prolog into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:

addK_in_aag(b, b, b) → addK_out_aag(b, b, b)
addK_in_aag(zero(T69), b, zero(T69)) → U34_aag(T69, binaryZA_in_g(T69))
binaryZA_in_g(zero(T75)) → U1_g(T75, binaryZA_in_g(T75))
binaryZA_in_g(one(T79)) → U2_g(T79, binaryB_in_g(T79))
binaryB_in_g(b) → binaryB_out_g(b)
binaryB_in_g(zero(T84)) → U3_g(T84, binaryZA_in_g(T84))
U3_g(T84, binaryZA_out_g(T84)) → binaryB_out_g(zero(T84))
binaryB_in_g(one(T88)) → U4_g(T88, binaryB_in_g(T88))
U4_g(T88, binaryB_out_g(T88)) → binaryB_out_g(one(T88))
U2_g(T79, binaryB_out_g(T79)) → binaryZA_out_g(one(T79))
U1_g(T75, binaryZA_out_g(T75)) → binaryZA_out_g(zero(T75))
U34_aag(T69, binaryZA_out_g(T69)) → addK_out_aag(zero(T69), b, zero(T69))
addK_in_aag(one(T93), b, one(T93)) → U35_aag(T93, binaryB_in_g(T93))
U35_aag(T93, binaryB_out_g(T93)) → addK_out_aag(one(T93), b, one(T93))
addK_in_aag(b, T98, T98) → U36_aag(T98, binaryZA_in_g(T98))
U36_aag(T98, binaryZA_out_g(T98)) → addK_out_aag(b, T98, T98)
addK_in_aag(T114, T115, T113) → U37_aag(T114, T115, T113, addzJ_in_aag(T114, T115, T113))
addzJ_in_aag(zero(T134), zero(T135), zero(T133)) → U30_aag(T134, T135, T133, addzC_in_aag(T134, T135, T133))
addzC_in_aag(zero(T154), zero(T155), zero(T153)) → U5_aag(T154, T155, T153, addzC_in_aag(T154, T155, T153))
addzC_in_aag(zero(T174), one(T175), one(T173)) → U6_aag(T174, T175, T173, addxD_in_aag(T174, T175, T173))
addxD_in_aag(one(T181), b, one(T181)) → U24_aag(T181, binaryB_in_g(T181))
U24_aag(T181, binaryB_out_g(T181)) → addxD_out_aag(one(T181), b, one(T181))
addxD_in_aag(zero(T186), b, zero(T186)) → U25_aag(T186, binaryZA_in_g(T186))
U25_aag(T186, binaryZA_out_g(T186)) → addxD_out_aag(zero(T186), b, zero(T186))
addxD_in_aag(T202, T203, T201) → U26_aag(T202, T203, T201, addzC_in_aag(T202, T203, T201))
addzC_in_aag(one(T222), zero(T223), one(T221)) → U7_aag(T222, T223, T221, addyE_in_aag(T222, T223, T221))
addyE_in_aag(b, one(T229), one(T229)) → U27_aag(T229, binaryB_in_g(T229))
U27_aag(T229, binaryB_out_g(T229)) → addyE_out_aag(b, one(T229), one(T229))
addyE_in_aag(b, zero(T234), zero(T234)) → U28_aag(T234, binaryZA_in_g(T234))
U28_aag(T234, binaryZA_out_g(T234)) → addyE_out_aag(b, zero(T234), zero(T234))
addyE_in_aag(T250, T251, T249) → U29_aag(T250, T251, T249, addzC_in_aag(T250, T251, T249))
addzC_in_aag(one(T264), one(T265), zero(T263)) → U8_aag(T264, T265, T263, addcF_in_aag(T264, T265, T263))
addcF_in_aag(b, b, one(b)) → addcF_out_aag(b, b, one(b))
addcF_in_aag(T276, b, T275) → U21_aag(T276, T275, succZH_in_ag(T276, T275))
succZH_in_ag(zero(T282), one(T282)) → U11_ag(T282, binaryZA_in_g(T282))
U11_ag(T282, binaryZA_out_g(T282)) → succZH_out_ag(zero(T282), one(T282))
succZH_in_ag(one(T290), zero(T289)) → U12_ag(T290, T289, succG_in_ag(T290, T289))
succG_in_ag(b, one(b)) → succG_out_ag(b, one(b))
succG_in_ag(zero(T295), one(T295)) → U9_ag(T295, binaryZA_in_g(T295))
U9_ag(T295, binaryZA_out_g(T295)) → succG_out_ag(zero(T295), one(T295))
succG_in_ag(one(T303), zero(T302)) → U10_ag(T303, T302, succG_in_ag(T303, T302))
U10_ag(T303, T302, succG_out_ag(T303, T302)) → succG_out_ag(one(T303), zero(T302))
U12_ag(T290, T289, succG_out_ag(T290, T289)) → succZH_out_ag(one(T290), zero(T289))
U21_aag(T276, T275, succZH_out_ag(T276, T275)) → addcF_out_aag(T276, b, T275)
addcF_in_aag(b, T314, T313) → U22_aag(T314, T313, succZH_in_ag(T314, T313))
U22_aag(T314, T313, succZH_out_ag(T314, T313)) → addcF_out_aag(b, T314, T313)
addcF_in_aag(T330, T331, T329) → U23_aag(T330, T331, T329, addCI_in_aag(T330, T331, T329))
addCI_in_aag(zero(T350), zero(T351), one(T349)) → U13_aag(T350, T351, T349, addzC_in_aag(T350, T351, T349))
U13_aag(T350, T351, T349, addzC_out_aag(T350, T351, T349)) → addCI_out_aag(zero(T350), zero(T351), one(T349))
addCI_in_aag(zero(zero(T377)), one(b), zero(one(T377))) → U14_aag(T377, binaryZA_in_g(T377))
U14_aag(T377, binaryZA_out_g(T377)) → addCI_out_aag(zero(zero(T377)), one(b), zero(one(T377)))
addCI_in_aag(zero(one(T389)), one(b), zero(zero(T388))) → U15_aag(T389, T388, succG_in_ag(T389, T388))
U15_aag(T389, T388, succG_out_ag(T389, T388)) → addCI_out_aag(zero(one(T389)), one(b), zero(zero(T388)))
addCI_in_aag(zero(T404), one(T405), zero(T403)) → U16_aag(T404, T405, T403, addCI_in_aag(T404, T405, T403))
addCI_in_aag(one(b), zero(zero(T431)), zero(one(T431))) → U17_aag(T431, binaryZA_in_g(T431))
U17_aag(T431, binaryZA_out_g(T431)) → addCI_out_aag(one(b), zero(zero(T431)), zero(one(T431)))
addCI_in_aag(one(b), zero(one(T443)), zero(zero(T442))) → U18_aag(T443, T442, succG_in_ag(T443, T442))
U18_aag(T443, T442, succG_out_ag(T443, T442)) → addCI_out_aag(one(b), zero(one(T443)), zero(zero(T442)))
addCI_in_aag(one(T458), zero(T459), zero(T457)) → U19_aag(T458, T459, T457, addCI_in_aag(T458, T459, T457))
addCI_in_aag(one(T472), one(T473), one(T471)) → U20_aag(T472, T473, T471, addcF_in_aag(T472, T473, T471))
U20_aag(T472, T473, T471, addcF_out_aag(T472, T473, T471)) → addCI_out_aag(one(T472), one(T473), one(T471))
U19_aag(T458, T459, T457, addCI_out_aag(T458, T459, T457)) → addCI_out_aag(one(T458), zero(T459), zero(T457))
U16_aag(T404, T405, T403, addCI_out_aag(T404, T405, T403)) → addCI_out_aag(zero(T404), one(T405), zero(T403))
U23_aag(T330, T331, T329, addCI_out_aag(T330, T331, T329)) → addcF_out_aag(T330, T331, T329)
U8_aag(T264, T265, T263, addcF_out_aag(T264, T265, T263)) → addzC_out_aag(one(T264), one(T265), zero(T263))
U29_aag(T250, T251, T249, addzC_out_aag(T250, T251, T249)) → addyE_out_aag(T250, T251, T249)
U7_aag(T222, T223, T221, addyE_out_aag(T222, T223, T221)) → addzC_out_aag(one(T222), zero(T223), one(T221))
U26_aag(T202, T203, T201, addzC_out_aag(T202, T203, T201)) → addxD_out_aag(T202, T203, T201)
U6_aag(T174, T175, T173, addxD_out_aag(T174, T175, T173)) → addzC_out_aag(zero(T174), one(T175), one(T173))
U5_aag(T154, T155, T153, addzC_out_aag(T154, T155, T153)) → addzC_out_aag(zero(T154), zero(T155), zero(T153))
U30_aag(T134, T135, T133, addzC_out_aag(T134, T135, T133)) → addzJ_out_aag(zero(T134), zero(T135), zero(T133))
addzJ_in_aag(zero(T489), one(T490), one(T488)) → U31_aag(T489, T490, T488, addxD_in_aag(T489, T490, T488))
U31_aag(T489, T490, T488, addxD_out_aag(T489, T490, T488)) → addzJ_out_aag(zero(T489), one(T490), one(T488))
addzJ_in_aag(one(T507), zero(T508), one(T506)) → U32_aag(T507, T508, T506, addyE_in_aag(T507, T508, T506))
U32_aag(T507, T508, T506, addyE_out_aag(T507, T508, T506)) → addzJ_out_aag(one(T507), zero(T508), one(T506))
addzJ_in_aag(one(T519), one(T520), zero(T518)) → U33_aag(T519, T520, T518, addcF_in_aag(T519, T520, T518))
U33_aag(T519, T520, T518, addcF_out_aag(T519, T520, T518)) → addzJ_out_aag(one(T519), one(T520), zero(T518))
U37_aag(T114, T115, T113, addzJ_out_aag(T114, T115, T113)) → addK_out_aag(T114, T115, T113)
addK_in_aag(b, zero(T527), zero(T527)) → U38_aag(T527, binaryZA_in_g(T527))
U38_aag(T527, binaryZA_out_g(T527)) → addK_out_aag(b, zero(T527), zero(T527))
addK_in_aag(b, one(T533), one(T533)) → U39_aag(T533, binaryB_in_g(T533))
U39_aag(T533, binaryB_out_g(T533)) → addK_out_aag(b, one(T533), one(T533))
addK_in_aag(T548, T549, T547) → U40_aag(T548, T549, T547, addzJ_in_aag(T548, T549, T547))
U40_aag(T548, T549, T547, addzJ_out_aag(T548, T549, T547)) → addK_out_aag(T548, T549, T547)
addK_in_aag(zero(T576), zero(T577), zero(T575)) → U41_aag(T576, T577, T575, addzC_in_aag(T576, T577, T575))
U41_aag(T576, T577, T575, addzC_out_aag(T576, T577, T575)) → addK_out_aag(zero(T576), zero(T577), zero(T575))
addK_in_aag(zero(T596), one(T597), one(T595)) → U42_aag(T596, T597, T595, addxD_in_aag(T596, T597, T595))
U42_aag(T596, T597, T595, addxD_out_aag(T596, T597, T595)) → addK_out_aag(zero(T596), one(T597), one(T595))
addK_in_aag(one(T614), zero(T615), one(T613)) → U43_aag(T614, T615, T613, addyE_in_aag(T614, T615, T613))
U43_aag(T614, T615, T613, addyE_out_aag(T614, T615, T613)) → addK_out_aag(one(T614), zero(T615), one(T613))
addK_in_aag(one(T626), one(T627), zero(T625)) → U44_aag(T626, T627, T625, addcF_in_aag(T626, T627, T625))
U44_aag(T626, T627, T625, addcF_out_aag(T626, T627, T625)) → addK_out_aag(one(T626), one(T627), zero(T625))

The argument filtering Pi contains the following mapping:
addK_in_aag(x1, x2, x3)  =  addK_in_aag(x3)
b  =  b
addK_out_aag(x1, x2, x3)  =  addK_out_aag(x1, x2)
zero(x1)  =  zero(x1)
U34_aag(x1, x2)  =  U34_aag(x1, x2)
binaryZA_in_g(x1)  =  binaryZA_in_g(x1)
U1_g(x1, x2)  =  U1_g(x2)
one(x1)  =  one(x1)
U2_g(x1, x2)  =  U2_g(x2)
binaryB_in_g(x1)  =  binaryB_in_g(x1)
binaryB_out_g(x1)  =  binaryB_out_g
U3_g(x1, x2)  =  U3_g(x2)
binaryZA_out_g(x1)  =  binaryZA_out_g
U4_g(x1, x2)  =  U4_g(x2)
U35_aag(x1, x2)  =  U35_aag(x1, x2)
U36_aag(x1, x2)  =  U36_aag(x1, x2)
U37_aag(x1, x2, x3, x4)  =  U37_aag(x4)
addzJ_in_aag(x1, x2, x3)  =  addzJ_in_aag(x3)
U30_aag(x1, x2, x3, x4)  =  U30_aag(x4)
addzC_in_aag(x1, x2, x3)  =  addzC_in_aag(x3)
U5_aag(x1, x2, x3, x4)  =  U5_aag(x4)
U6_aag(x1, x2, x3, x4)  =  U6_aag(x4)
addxD_in_aag(x1, x2, x3)  =  addxD_in_aag(x3)
U24_aag(x1, x2)  =  U24_aag(x1, x2)
addxD_out_aag(x1, x2, x3)  =  addxD_out_aag(x1, x2)
U25_aag(x1, x2)  =  U25_aag(x1, x2)
U26_aag(x1, x2, x3, x4)  =  U26_aag(x4)
U7_aag(x1, x2, x3, x4)  =  U7_aag(x4)
addyE_in_aag(x1, x2, x3)  =  addyE_in_aag(x3)
U27_aag(x1, x2)  =  U27_aag(x1, x2)
addyE_out_aag(x1, x2, x3)  =  addyE_out_aag(x1, x2)
U28_aag(x1, x2)  =  U28_aag(x1, x2)
U29_aag(x1, x2, x3, x4)  =  U29_aag(x4)
U8_aag(x1, x2, x3, x4)  =  U8_aag(x4)
addcF_in_aag(x1, x2, x3)  =  addcF_in_aag(x3)
addcF_out_aag(x1, x2, x3)  =  addcF_out_aag(x1, x2)
U21_aag(x1, x2, x3)  =  U21_aag(x3)
succZH_in_ag(x1, x2)  =  succZH_in_ag(x2)
U11_ag(x1, x2)  =  U11_ag(x1, x2)
succZH_out_ag(x1, x2)  =  succZH_out_ag(x1)
U12_ag(x1, x2, x3)  =  U12_ag(x3)
succG_in_ag(x1, x2)  =  succG_in_ag(x2)
succG_out_ag(x1, x2)  =  succG_out_ag(x1)
U9_ag(x1, x2)  =  U9_ag(x1, x2)
U10_ag(x1, x2, x3)  =  U10_ag(x3)
U22_aag(x1, x2, x3)  =  U22_aag(x3)
U23_aag(x1, x2, x3, x4)  =  U23_aag(x4)
addCI_in_aag(x1, x2, x3)  =  addCI_in_aag(x3)
U13_aag(x1, x2, x3, x4)  =  U13_aag(x4)
addzC_out_aag(x1, x2, x3)  =  addzC_out_aag(x1, x2)
addCI_out_aag(x1, x2, x3)  =  addCI_out_aag(x1, x2)
U14_aag(x1, x2)  =  U14_aag(x1, x2)
U15_aag(x1, x2, x3)  =  U15_aag(x3)
U16_aag(x1, x2, x3, x4)  =  U16_aag(x4)
U17_aag(x1, x2)  =  U17_aag(x1, x2)
U18_aag(x1, x2, x3)  =  U18_aag(x3)
U19_aag(x1, x2, x3, x4)  =  U19_aag(x4)
U20_aag(x1, x2, x3, x4)  =  U20_aag(x4)
addzJ_out_aag(x1, x2, x3)  =  addzJ_out_aag(x1, x2)
U31_aag(x1, x2, x3, x4)  =  U31_aag(x4)
U32_aag(x1, x2, x3, x4)  =  U32_aag(x4)
U33_aag(x1, x2, x3, x4)  =  U33_aag(x4)
U38_aag(x1, x2)  =  U38_aag(x1, x2)
U39_aag(x1, x2)  =  U39_aag(x1, x2)
U40_aag(x1, x2, x3, x4)  =  U40_aag(x4)
U41_aag(x1, x2, x3, x4)  =  U41_aag(x4)
U42_aag(x1, x2, x3, x4)  =  U42_aag(x4)
U43_aag(x1, x2, x3, x4)  =  U43_aag(x4)
U44_aag(x1, x2, x3, x4)  =  U44_aag(x4)

Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog

(4) Obligation:

Pi-finite rewrite system:
The TRS R consists of the following rules:

addK_in_aag(b, b, b) → addK_out_aag(b, b, b)
addK_in_aag(zero(T69), b, zero(T69)) → U34_aag(T69, binaryZA_in_g(T69))
binaryZA_in_g(zero(T75)) → U1_g(T75, binaryZA_in_g(T75))
binaryZA_in_g(one(T79)) → U2_g(T79, binaryB_in_g(T79))
binaryB_in_g(b) → binaryB_out_g(b)
binaryB_in_g(zero(T84)) → U3_g(T84, binaryZA_in_g(T84))
U3_g(T84, binaryZA_out_g(T84)) → binaryB_out_g(zero(T84))
binaryB_in_g(one(T88)) → U4_g(T88, binaryB_in_g(T88))
U4_g(T88, binaryB_out_g(T88)) → binaryB_out_g(one(T88))
U2_g(T79, binaryB_out_g(T79)) → binaryZA_out_g(one(T79))
U1_g(T75, binaryZA_out_g(T75)) → binaryZA_out_g(zero(T75))
U34_aag(T69, binaryZA_out_g(T69)) → addK_out_aag(zero(T69), b, zero(T69))
addK_in_aag(one(T93), b, one(T93)) → U35_aag(T93, binaryB_in_g(T93))
U35_aag(T93, binaryB_out_g(T93)) → addK_out_aag(one(T93), b, one(T93))
addK_in_aag(b, T98, T98) → U36_aag(T98, binaryZA_in_g(T98))
U36_aag(T98, binaryZA_out_g(T98)) → addK_out_aag(b, T98, T98)
addK_in_aag(T114, T115, T113) → U37_aag(T114, T115, T113, addzJ_in_aag(T114, T115, T113))
addzJ_in_aag(zero(T134), zero(T135), zero(T133)) → U30_aag(T134, T135, T133, addzC_in_aag(T134, T135, T133))
addzC_in_aag(zero(T154), zero(T155), zero(T153)) → U5_aag(T154, T155, T153, addzC_in_aag(T154, T155, T153))
addzC_in_aag(zero(T174), one(T175), one(T173)) → U6_aag(T174, T175, T173, addxD_in_aag(T174, T175, T173))
addxD_in_aag(one(T181), b, one(T181)) → U24_aag(T181, binaryB_in_g(T181))
U24_aag(T181, binaryB_out_g(T181)) → addxD_out_aag(one(T181), b, one(T181))
addxD_in_aag(zero(T186), b, zero(T186)) → U25_aag(T186, binaryZA_in_g(T186))
U25_aag(T186, binaryZA_out_g(T186)) → addxD_out_aag(zero(T186), b, zero(T186))
addxD_in_aag(T202, T203, T201) → U26_aag(T202, T203, T201, addzC_in_aag(T202, T203, T201))
addzC_in_aag(one(T222), zero(T223), one(T221)) → U7_aag(T222, T223, T221, addyE_in_aag(T222, T223, T221))
addyE_in_aag(b, one(T229), one(T229)) → U27_aag(T229, binaryB_in_g(T229))
U27_aag(T229, binaryB_out_g(T229)) → addyE_out_aag(b, one(T229), one(T229))
addyE_in_aag(b, zero(T234), zero(T234)) → U28_aag(T234, binaryZA_in_g(T234))
U28_aag(T234, binaryZA_out_g(T234)) → addyE_out_aag(b, zero(T234), zero(T234))
addyE_in_aag(T250, T251, T249) → U29_aag(T250, T251, T249, addzC_in_aag(T250, T251, T249))
addzC_in_aag(one(T264), one(T265), zero(T263)) → U8_aag(T264, T265, T263, addcF_in_aag(T264, T265, T263))
addcF_in_aag(b, b, one(b)) → addcF_out_aag(b, b, one(b))
addcF_in_aag(T276, b, T275) → U21_aag(T276, T275, succZH_in_ag(T276, T275))
succZH_in_ag(zero(T282), one(T282)) → U11_ag(T282, binaryZA_in_g(T282))
U11_ag(T282, binaryZA_out_g(T282)) → succZH_out_ag(zero(T282), one(T282))
succZH_in_ag(one(T290), zero(T289)) → U12_ag(T290, T289, succG_in_ag(T290, T289))
succG_in_ag(b, one(b)) → succG_out_ag(b, one(b))
succG_in_ag(zero(T295), one(T295)) → U9_ag(T295, binaryZA_in_g(T295))
U9_ag(T295, binaryZA_out_g(T295)) → succG_out_ag(zero(T295), one(T295))
succG_in_ag(one(T303), zero(T302)) → U10_ag(T303, T302, succG_in_ag(T303, T302))
U10_ag(T303, T302, succG_out_ag(T303, T302)) → succG_out_ag(one(T303), zero(T302))
U12_ag(T290, T289, succG_out_ag(T290, T289)) → succZH_out_ag(one(T290), zero(T289))
U21_aag(T276, T275, succZH_out_ag(T276, T275)) → addcF_out_aag(T276, b, T275)
addcF_in_aag(b, T314, T313) → U22_aag(T314, T313, succZH_in_ag(T314, T313))
U22_aag(T314, T313, succZH_out_ag(T314, T313)) → addcF_out_aag(b, T314, T313)
addcF_in_aag(T330, T331, T329) → U23_aag(T330, T331, T329, addCI_in_aag(T330, T331, T329))
addCI_in_aag(zero(T350), zero(T351), one(T349)) → U13_aag(T350, T351, T349, addzC_in_aag(T350, T351, T349))
U13_aag(T350, T351, T349, addzC_out_aag(T350, T351, T349)) → addCI_out_aag(zero(T350), zero(T351), one(T349))
addCI_in_aag(zero(zero(T377)), one(b), zero(one(T377))) → U14_aag(T377, binaryZA_in_g(T377))
U14_aag(T377, binaryZA_out_g(T377)) → addCI_out_aag(zero(zero(T377)), one(b), zero(one(T377)))
addCI_in_aag(zero(one(T389)), one(b), zero(zero(T388))) → U15_aag(T389, T388, succG_in_ag(T389, T388))
U15_aag(T389, T388, succG_out_ag(T389, T388)) → addCI_out_aag(zero(one(T389)), one(b), zero(zero(T388)))
addCI_in_aag(zero(T404), one(T405), zero(T403)) → U16_aag(T404, T405, T403, addCI_in_aag(T404, T405, T403))
addCI_in_aag(one(b), zero(zero(T431)), zero(one(T431))) → U17_aag(T431, binaryZA_in_g(T431))
U17_aag(T431, binaryZA_out_g(T431)) → addCI_out_aag(one(b), zero(zero(T431)), zero(one(T431)))
addCI_in_aag(one(b), zero(one(T443)), zero(zero(T442))) → U18_aag(T443, T442, succG_in_ag(T443, T442))
U18_aag(T443, T442, succG_out_ag(T443, T442)) → addCI_out_aag(one(b), zero(one(T443)), zero(zero(T442)))
addCI_in_aag(one(T458), zero(T459), zero(T457)) → U19_aag(T458, T459, T457, addCI_in_aag(T458, T459, T457))
addCI_in_aag(one(T472), one(T473), one(T471)) → U20_aag(T472, T473, T471, addcF_in_aag(T472, T473, T471))
U20_aag(T472, T473, T471, addcF_out_aag(T472, T473, T471)) → addCI_out_aag(one(T472), one(T473), one(T471))
U19_aag(T458, T459, T457, addCI_out_aag(T458, T459, T457)) → addCI_out_aag(one(T458), zero(T459), zero(T457))
U16_aag(T404, T405, T403, addCI_out_aag(T404, T405, T403)) → addCI_out_aag(zero(T404), one(T405), zero(T403))
U23_aag(T330, T331, T329, addCI_out_aag(T330, T331, T329)) → addcF_out_aag(T330, T331, T329)
U8_aag(T264, T265, T263, addcF_out_aag(T264, T265, T263)) → addzC_out_aag(one(T264), one(T265), zero(T263))
U29_aag(T250, T251, T249, addzC_out_aag(T250, T251, T249)) → addyE_out_aag(T250, T251, T249)
U7_aag(T222, T223, T221, addyE_out_aag(T222, T223, T221)) → addzC_out_aag(one(T222), zero(T223), one(T221))
U26_aag(T202, T203, T201, addzC_out_aag(T202, T203, T201)) → addxD_out_aag(T202, T203, T201)
U6_aag(T174, T175, T173, addxD_out_aag(T174, T175, T173)) → addzC_out_aag(zero(T174), one(T175), one(T173))
U5_aag(T154, T155, T153, addzC_out_aag(T154, T155, T153)) → addzC_out_aag(zero(T154), zero(T155), zero(T153))
U30_aag(T134, T135, T133, addzC_out_aag(T134, T135, T133)) → addzJ_out_aag(zero(T134), zero(T135), zero(T133))
addzJ_in_aag(zero(T489), one(T490), one(T488)) → U31_aag(T489, T490, T488, addxD_in_aag(T489, T490, T488))
U31_aag(T489, T490, T488, addxD_out_aag(T489, T490, T488)) → addzJ_out_aag(zero(T489), one(T490), one(T488))
addzJ_in_aag(one(T507), zero(T508), one(T506)) → U32_aag(T507, T508, T506, addyE_in_aag(T507, T508, T506))
U32_aag(T507, T508, T506, addyE_out_aag(T507, T508, T506)) → addzJ_out_aag(one(T507), zero(T508), one(T506))
addzJ_in_aag(one(T519), one(T520), zero(T518)) → U33_aag(T519, T520, T518, addcF_in_aag(T519, T520, T518))
U33_aag(T519, T520, T518, addcF_out_aag(T519, T520, T518)) → addzJ_out_aag(one(T519), one(T520), zero(T518))
U37_aag(T114, T115, T113, addzJ_out_aag(T114, T115, T113)) → addK_out_aag(T114, T115, T113)
addK_in_aag(b, zero(T527), zero(T527)) → U38_aag(T527, binaryZA_in_g(T527))
U38_aag(T527, binaryZA_out_g(T527)) → addK_out_aag(b, zero(T527), zero(T527))
addK_in_aag(b, one(T533), one(T533)) → U39_aag(T533, binaryB_in_g(T533))
U39_aag(T533, binaryB_out_g(T533)) → addK_out_aag(b, one(T533), one(T533))
addK_in_aag(T548, T549, T547) → U40_aag(T548, T549, T547, addzJ_in_aag(T548, T549, T547))
U40_aag(T548, T549, T547, addzJ_out_aag(T548, T549, T547)) → addK_out_aag(T548, T549, T547)
addK_in_aag(zero(T576), zero(T577), zero(T575)) → U41_aag(T576, T577, T575, addzC_in_aag(T576, T577, T575))
U41_aag(T576, T577, T575, addzC_out_aag(T576, T577, T575)) → addK_out_aag(zero(T576), zero(T577), zero(T575))
addK_in_aag(zero(T596), one(T597), one(T595)) → U42_aag(T596, T597, T595, addxD_in_aag(T596, T597, T595))
U42_aag(T596, T597, T595, addxD_out_aag(T596, T597, T595)) → addK_out_aag(zero(T596), one(T597), one(T595))
addK_in_aag(one(T614), zero(T615), one(T613)) → U43_aag(T614, T615, T613, addyE_in_aag(T614, T615, T613))
U43_aag(T614, T615, T613, addyE_out_aag(T614, T615, T613)) → addK_out_aag(one(T614), zero(T615), one(T613))
addK_in_aag(one(T626), one(T627), zero(T625)) → U44_aag(T626, T627, T625, addcF_in_aag(T626, T627, T625))
U44_aag(T626, T627, T625, addcF_out_aag(T626, T627, T625)) → addK_out_aag(one(T626), one(T627), zero(T625))

The argument filtering Pi contains the following mapping:
addK_in_aag(x1, x2, x3)  =  addK_in_aag(x3)
b  =  b
addK_out_aag(x1, x2, x3)  =  addK_out_aag(x1, x2)
zero(x1)  =  zero(x1)
U34_aag(x1, x2)  =  U34_aag(x1, x2)
binaryZA_in_g(x1)  =  binaryZA_in_g(x1)
U1_g(x1, x2)  =  U1_g(x2)
one(x1)  =  one(x1)
U2_g(x1, x2)  =  U2_g(x2)
binaryB_in_g(x1)  =  binaryB_in_g(x1)
binaryB_out_g(x1)  =  binaryB_out_g
U3_g(x1, x2)  =  U3_g(x2)
binaryZA_out_g(x1)  =  binaryZA_out_g
U4_g(x1, x2)  =  U4_g(x2)
U35_aag(x1, x2)  =  U35_aag(x1, x2)
U36_aag(x1, x2)  =  U36_aag(x1, x2)
U37_aag(x1, x2, x3, x4)  =  U37_aag(x4)
addzJ_in_aag(x1, x2, x3)  =  addzJ_in_aag(x3)
U30_aag(x1, x2, x3, x4)  =  U30_aag(x4)
addzC_in_aag(x1, x2, x3)  =  addzC_in_aag(x3)
U5_aag(x1, x2, x3, x4)  =  U5_aag(x4)
U6_aag(x1, x2, x3, x4)  =  U6_aag(x4)
addxD_in_aag(x1, x2, x3)  =  addxD_in_aag(x3)
U24_aag(x1, x2)  =  U24_aag(x1, x2)
addxD_out_aag(x1, x2, x3)  =  addxD_out_aag(x1, x2)
U25_aag(x1, x2)  =  U25_aag(x1, x2)
U26_aag(x1, x2, x3, x4)  =  U26_aag(x4)
U7_aag(x1, x2, x3, x4)  =  U7_aag(x4)
addyE_in_aag(x1, x2, x3)  =  addyE_in_aag(x3)
U27_aag(x1, x2)  =  U27_aag(x1, x2)
addyE_out_aag(x1, x2, x3)  =  addyE_out_aag(x1, x2)
U28_aag(x1, x2)  =  U28_aag(x1, x2)
U29_aag(x1, x2, x3, x4)  =  U29_aag(x4)
U8_aag(x1, x2, x3, x4)  =  U8_aag(x4)
addcF_in_aag(x1, x2, x3)  =  addcF_in_aag(x3)
addcF_out_aag(x1, x2, x3)  =  addcF_out_aag(x1, x2)
U21_aag(x1, x2, x3)  =  U21_aag(x3)
succZH_in_ag(x1, x2)  =  succZH_in_ag(x2)
U11_ag(x1, x2)  =  U11_ag(x1, x2)
succZH_out_ag(x1, x2)  =  succZH_out_ag(x1)
U12_ag(x1, x2, x3)  =  U12_ag(x3)
succG_in_ag(x1, x2)  =  succG_in_ag(x2)
succG_out_ag(x1, x2)  =  succG_out_ag(x1)
U9_ag(x1, x2)  =  U9_ag(x1, x2)
U10_ag(x1, x2, x3)  =  U10_ag(x3)
U22_aag(x1, x2, x3)  =  U22_aag(x3)
U23_aag(x1, x2, x3, x4)  =  U23_aag(x4)
addCI_in_aag(x1, x2, x3)  =  addCI_in_aag(x3)
U13_aag(x1, x2, x3, x4)  =  U13_aag(x4)
addzC_out_aag(x1, x2, x3)  =  addzC_out_aag(x1, x2)
addCI_out_aag(x1, x2, x3)  =  addCI_out_aag(x1, x2)
U14_aag(x1, x2)  =  U14_aag(x1, x2)
U15_aag(x1, x2, x3)  =  U15_aag(x3)
U16_aag(x1, x2, x3, x4)  =  U16_aag(x4)
U17_aag(x1, x2)  =  U17_aag(x1, x2)
U18_aag(x1, x2, x3)  =  U18_aag(x3)
U19_aag(x1, x2, x3, x4)  =  U19_aag(x4)
U20_aag(x1, x2, x3, x4)  =  U20_aag(x4)
addzJ_out_aag(x1, x2, x3)  =  addzJ_out_aag(x1, x2)
U31_aag(x1, x2, x3, x4)  =  U31_aag(x4)
U32_aag(x1, x2, x3, x4)  =  U32_aag(x4)
U33_aag(x1, x2, x3, x4)  =  U33_aag(x4)
U38_aag(x1, x2)  =  U38_aag(x1, x2)
U39_aag(x1, x2)  =  U39_aag(x1, x2)
U40_aag(x1, x2, x3, x4)  =  U40_aag(x4)
U41_aag(x1, x2, x3, x4)  =  U41_aag(x4)
U42_aag(x1, x2, x3, x4)  =  U42_aag(x4)
U43_aag(x1, x2, x3, x4)  =  U43_aag(x4)
U44_aag(x1, x2, x3, x4)  =  U44_aag(x4)

(5) DependencyPairsProof (EQUIVALENT transformation)

Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem:
Pi DP problem:
The TRS P consists of the following rules:

ADDK_IN_AAG(zero(T69), b, zero(T69)) → U34_AAG(T69, binaryZA_in_g(T69))
ADDK_IN_AAG(zero(T69), b, zero(T69)) → BINARYZA_IN_G(T69)
BINARYZA_IN_G(zero(T75)) → U1_G(T75, binaryZA_in_g(T75))
BINARYZA_IN_G(zero(T75)) → BINARYZA_IN_G(T75)
BINARYZA_IN_G(one(T79)) → U2_G(T79, binaryB_in_g(T79))
BINARYZA_IN_G(one(T79)) → BINARYB_IN_G(T79)
BINARYB_IN_G(zero(T84)) → U3_G(T84, binaryZA_in_g(T84))
BINARYB_IN_G(zero(T84)) → BINARYZA_IN_G(T84)
BINARYB_IN_G(one(T88)) → U4_G(T88, binaryB_in_g(T88))
BINARYB_IN_G(one(T88)) → BINARYB_IN_G(T88)
ADDK_IN_AAG(one(T93), b, one(T93)) → U35_AAG(T93, binaryB_in_g(T93))
ADDK_IN_AAG(one(T93), b, one(T93)) → BINARYB_IN_G(T93)
ADDK_IN_AAG(b, T98, T98) → U36_AAG(T98, binaryZA_in_g(T98))
ADDK_IN_AAG(b, T98, T98) → BINARYZA_IN_G(T98)
ADDK_IN_AAG(T114, T115, T113) → U37_AAG(T114, T115, T113, addzJ_in_aag(T114, T115, T113))
ADDK_IN_AAG(T114, T115, T113) → ADDZJ_IN_AAG(T114, T115, T113)
ADDZJ_IN_AAG(zero(T134), zero(T135), zero(T133)) → U30_AAG(T134, T135, T133, addzC_in_aag(T134, T135, T133))
ADDZJ_IN_AAG(zero(T134), zero(T135), zero(T133)) → ADDZC_IN_AAG(T134, T135, T133)
ADDZC_IN_AAG(zero(T154), zero(T155), zero(T153)) → U5_AAG(T154, T155, T153, addzC_in_aag(T154, T155, T153))
ADDZC_IN_AAG(zero(T154), zero(T155), zero(T153)) → ADDZC_IN_AAG(T154, T155, T153)
ADDZC_IN_AAG(zero(T174), one(T175), one(T173)) → U6_AAG(T174, T175, T173, addxD_in_aag(T174, T175, T173))
ADDZC_IN_AAG(zero(T174), one(T175), one(T173)) → ADDXD_IN_AAG(T174, T175, T173)
ADDXD_IN_AAG(one(T181), b, one(T181)) → U24_AAG(T181, binaryB_in_g(T181))
ADDXD_IN_AAG(one(T181), b, one(T181)) → BINARYB_IN_G(T181)
ADDXD_IN_AAG(zero(T186), b, zero(T186)) → U25_AAG(T186, binaryZA_in_g(T186))
ADDXD_IN_AAG(zero(T186), b, zero(T186)) → BINARYZA_IN_G(T186)
ADDXD_IN_AAG(T202, T203, T201) → U26_AAG(T202, T203, T201, addzC_in_aag(T202, T203, T201))
ADDXD_IN_AAG(T202, T203, T201) → ADDZC_IN_AAG(T202, T203, T201)
ADDZC_IN_AAG(one(T222), zero(T223), one(T221)) → U7_AAG(T222, T223, T221, addyE_in_aag(T222, T223, T221))
ADDZC_IN_AAG(one(T222), zero(T223), one(T221)) → ADDYE_IN_AAG(T222, T223, T221)
ADDYE_IN_AAG(b, one(T229), one(T229)) → U27_AAG(T229, binaryB_in_g(T229))
ADDYE_IN_AAG(b, one(T229), one(T229)) → BINARYB_IN_G(T229)
ADDYE_IN_AAG(b, zero(T234), zero(T234)) → U28_AAG(T234, binaryZA_in_g(T234))
ADDYE_IN_AAG(b, zero(T234), zero(T234)) → BINARYZA_IN_G(T234)
ADDYE_IN_AAG(T250, T251, T249) → U29_AAG(T250, T251, T249, addzC_in_aag(T250, T251, T249))
ADDYE_IN_AAG(T250, T251, T249) → ADDZC_IN_AAG(T250, T251, T249)
ADDZC_IN_AAG(one(T264), one(T265), zero(T263)) → U8_AAG(T264, T265, T263, addcF_in_aag(T264, T265, T263))
ADDZC_IN_AAG(one(T264), one(T265), zero(T263)) → ADDCF_IN_AAG(T264, T265, T263)
ADDCF_IN_AAG(T276, b, T275) → U21_AAG(T276, T275, succZH_in_ag(T276, T275))
ADDCF_IN_AAG(T276, b, T275) → SUCCZH_IN_AG(T276, T275)
SUCCZH_IN_AG(zero(T282), one(T282)) → U11_AG(T282, binaryZA_in_g(T282))
SUCCZH_IN_AG(zero(T282), one(T282)) → BINARYZA_IN_G(T282)
SUCCZH_IN_AG(one(T290), zero(T289)) → U12_AG(T290, T289, succG_in_ag(T290, T289))
SUCCZH_IN_AG(one(T290), zero(T289)) → SUCCG_IN_AG(T290, T289)
SUCCG_IN_AG(zero(T295), one(T295)) → U9_AG(T295, binaryZA_in_g(T295))
SUCCG_IN_AG(zero(T295), one(T295)) → BINARYZA_IN_G(T295)
SUCCG_IN_AG(one(T303), zero(T302)) → U10_AG(T303, T302, succG_in_ag(T303, T302))
SUCCG_IN_AG(one(T303), zero(T302)) → SUCCG_IN_AG(T303, T302)
ADDCF_IN_AAG(b, T314, T313) → U22_AAG(T314, T313, succZH_in_ag(T314, T313))
ADDCF_IN_AAG(b, T314, T313) → SUCCZH_IN_AG(T314, T313)
ADDCF_IN_AAG(T330, T331, T329) → U23_AAG(T330, T331, T329, addCI_in_aag(T330, T331, T329))
ADDCF_IN_AAG(T330, T331, T329) → ADDCI_IN_AAG(T330, T331, T329)
ADDCI_IN_AAG(zero(T350), zero(T351), one(T349)) → U13_AAG(T350, T351, T349, addzC_in_aag(T350, T351, T349))
ADDCI_IN_AAG(zero(T350), zero(T351), one(T349)) → ADDZC_IN_AAG(T350, T351, T349)
ADDCI_IN_AAG(zero(zero(T377)), one(b), zero(one(T377))) → U14_AAG(T377, binaryZA_in_g(T377))
ADDCI_IN_AAG(zero(zero(T377)), one(b), zero(one(T377))) → BINARYZA_IN_G(T377)
ADDCI_IN_AAG(zero(one(T389)), one(b), zero(zero(T388))) → U15_AAG(T389, T388, succG_in_ag(T389, T388))
ADDCI_IN_AAG(zero(one(T389)), one(b), zero(zero(T388))) → SUCCG_IN_AG(T389, T388)
ADDCI_IN_AAG(zero(T404), one(T405), zero(T403)) → U16_AAG(T404, T405, T403, addCI_in_aag(T404, T405, T403))
ADDCI_IN_AAG(zero(T404), one(T405), zero(T403)) → ADDCI_IN_AAG(T404, T405, T403)
ADDCI_IN_AAG(one(b), zero(zero(T431)), zero(one(T431))) → U17_AAG(T431, binaryZA_in_g(T431))
ADDCI_IN_AAG(one(b), zero(zero(T431)), zero(one(T431))) → BINARYZA_IN_G(T431)
ADDCI_IN_AAG(one(b), zero(one(T443)), zero(zero(T442))) → U18_AAG(T443, T442, succG_in_ag(T443, T442))
ADDCI_IN_AAG(one(b), zero(one(T443)), zero(zero(T442))) → SUCCG_IN_AG(T443, T442)
ADDCI_IN_AAG(one(T458), zero(T459), zero(T457)) → U19_AAG(T458, T459, T457, addCI_in_aag(T458, T459, T457))
ADDCI_IN_AAG(one(T458), zero(T459), zero(T457)) → ADDCI_IN_AAG(T458, T459, T457)
ADDCI_IN_AAG(one(T472), one(T473), one(T471)) → U20_AAG(T472, T473, T471, addcF_in_aag(T472, T473, T471))
ADDCI_IN_AAG(one(T472), one(T473), one(T471)) → ADDCF_IN_AAG(T472, T473, T471)
ADDZJ_IN_AAG(zero(T489), one(T490), one(T488)) → U31_AAG(T489, T490, T488, addxD_in_aag(T489, T490, T488))
ADDZJ_IN_AAG(zero(T489), one(T490), one(T488)) → ADDXD_IN_AAG(T489, T490, T488)
ADDZJ_IN_AAG(one(T507), zero(T508), one(T506)) → U32_AAG(T507, T508, T506, addyE_in_aag(T507, T508, T506))
ADDZJ_IN_AAG(one(T507), zero(T508), one(T506)) → ADDYE_IN_AAG(T507, T508, T506)
ADDZJ_IN_AAG(one(T519), one(T520), zero(T518)) → U33_AAG(T519, T520, T518, addcF_in_aag(T519, T520, T518))
ADDZJ_IN_AAG(one(T519), one(T520), zero(T518)) → ADDCF_IN_AAG(T519, T520, T518)
ADDK_IN_AAG(b, zero(T527), zero(T527)) → U38_AAG(T527, binaryZA_in_g(T527))
ADDK_IN_AAG(b, zero(T527), zero(T527)) → BINARYZA_IN_G(T527)
ADDK_IN_AAG(b, one(T533), one(T533)) → U39_AAG(T533, binaryB_in_g(T533))
ADDK_IN_AAG(b, one(T533), one(T533)) → BINARYB_IN_G(T533)
ADDK_IN_AAG(T548, T549, T547) → U40_AAG(T548, T549, T547, addzJ_in_aag(T548, T549, T547))
ADDK_IN_AAG(zero(T576), zero(T577), zero(T575)) → U41_AAG(T576, T577, T575, addzC_in_aag(T576, T577, T575))
ADDK_IN_AAG(zero(T576), zero(T577), zero(T575)) → ADDZC_IN_AAG(T576, T577, T575)
ADDK_IN_AAG(zero(T596), one(T597), one(T595)) → U42_AAG(T596, T597, T595, addxD_in_aag(T596, T597, T595))
ADDK_IN_AAG(zero(T596), one(T597), one(T595)) → ADDXD_IN_AAG(T596, T597, T595)
ADDK_IN_AAG(one(T614), zero(T615), one(T613)) → U43_AAG(T614, T615, T613, addyE_in_aag(T614, T615, T613))
ADDK_IN_AAG(one(T614), zero(T615), one(T613)) → ADDYE_IN_AAG(T614, T615, T613)
ADDK_IN_AAG(one(T626), one(T627), zero(T625)) → U44_AAG(T626, T627, T625, addcF_in_aag(T626, T627, T625))
ADDK_IN_AAG(one(T626), one(T627), zero(T625)) → ADDCF_IN_AAG(T626, T627, T625)

The TRS R consists of the following rules:

addK_in_aag(b, b, b) → addK_out_aag(b, b, b)
addK_in_aag(zero(T69), b, zero(T69)) → U34_aag(T69, binaryZA_in_g(T69))
binaryZA_in_g(zero(T75)) → U1_g(T75, binaryZA_in_g(T75))
binaryZA_in_g(one(T79)) → U2_g(T79, binaryB_in_g(T79))
binaryB_in_g(b) → binaryB_out_g(b)
binaryB_in_g(zero(T84)) → U3_g(T84, binaryZA_in_g(T84))
U3_g(T84, binaryZA_out_g(T84)) → binaryB_out_g(zero(T84))
binaryB_in_g(one(T88)) → U4_g(T88, binaryB_in_g(T88))
U4_g(T88, binaryB_out_g(T88)) → binaryB_out_g(one(T88))
U2_g(T79, binaryB_out_g(T79)) → binaryZA_out_g(one(T79))
U1_g(T75, binaryZA_out_g(T75)) → binaryZA_out_g(zero(T75))
U34_aag(T69, binaryZA_out_g(T69)) → addK_out_aag(zero(T69), b, zero(T69))
addK_in_aag(one(T93), b, one(T93)) → U35_aag(T93, binaryB_in_g(T93))
U35_aag(T93, binaryB_out_g(T93)) → addK_out_aag(one(T93), b, one(T93))
addK_in_aag(b, T98, T98) → U36_aag(T98, binaryZA_in_g(T98))
U36_aag(T98, binaryZA_out_g(T98)) → addK_out_aag(b, T98, T98)
addK_in_aag(T114, T115, T113) → U37_aag(T114, T115, T113, addzJ_in_aag(T114, T115, T113))
addzJ_in_aag(zero(T134), zero(T135), zero(T133)) → U30_aag(T134, T135, T133, addzC_in_aag(T134, T135, T133))
addzC_in_aag(zero(T154), zero(T155), zero(T153)) → U5_aag(T154, T155, T153, addzC_in_aag(T154, T155, T153))
addzC_in_aag(zero(T174), one(T175), one(T173)) → U6_aag(T174, T175, T173, addxD_in_aag(T174, T175, T173))
addxD_in_aag(one(T181), b, one(T181)) → U24_aag(T181, binaryB_in_g(T181))
U24_aag(T181, binaryB_out_g(T181)) → addxD_out_aag(one(T181), b, one(T181))
addxD_in_aag(zero(T186), b, zero(T186)) → U25_aag(T186, binaryZA_in_g(T186))
U25_aag(T186, binaryZA_out_g(T186)) → addxD_out_aag(zero(T186), b, zero(T186))
addxD_in_aag(T202, T203, T201) → U26_aag(T202, T203, T201, addzC_in_aag(T202, T203, T201))
addzC_in_aag(one(T222), zero(T223), one(T221)) → U7_aag(T222, T223, T221, addyE_in_aag(T222, T223, T221))
addyE_in_aag(b, one(T229), one(T229)) → U27_aag(T229, binaryB_in_g(T229))
U27_aag(T229, binaryB_out_g(T229)) → addyE_out_aag(b, one(T229), one(T229))
addyE_in_aag(b, zero(T234), zero(T234)) → U28_aag(T234, binaryZA_in_g(T234))
U28_aag(T234, binaryZA_out_g(T234)) → addyE_out_aag(b, zero(T234), zero(T234))
addyE_in_aag(T250, T251, T249) → U29_aag(T250, T251, T249, addzC_in_aag(T250, T251, T249))
addzC_in_aag(one(T264), one(T265), zero(T263)) → U8_aag(T264, T265, T263, addcF_in_aag(T264, T265, T263))
addcF_in_aag(b, b, one(b)) → addcF_out_aag(b, b, one(b))
addcF_in_aag(T276, b, T275) → U21_aag(T276, T275, succZH_in_ag(T276, T275))
succZH_in_ag(zero(T282), one(T282)) → U11_ag(T282, binaryZA_in_g(T282))
U11_ag(T282, binaryZA_out_g(T282)) → succZH_out_ag(zero(T282), one(T282))
succZH_in_ag(one(T290), zero(T289)) → U12_ag(T290, T289, succG_in_ag(T290, T289))
succG_in_ag(b, one(b)) → succG_out_ag(b, one(b))
succG_in_ag(zero(T295), one(T295)) → U9_ag(T295, binaryZA_in_g(T295))
U9_ag(T295, binaryZA_out_g(T295)) → succG_out_ag(zero(T295), one(T295))
succG_in_ag(one(T303), zero(T302)) → U10_ag(T303, T302, succG_in_ag(T303, T302))
U10_ag(T303, T302, succG_out_ag(T303, T302)) → succG_out_ag(one(T303), zero(T302))
U12_ag(T290, T289, succG_out_ag(T290, T289)) → succZH_out_ag(one(T290), zero(T289))
U21_aag(T276, T275, succZH_out_ag(T276, T275)) → addcF_out_aag(T276, b, T275)
addcF_in_aag(b, T314, T313) → U22_aag(T314, T313, succZH_in_ag(T314, T313))
U22_aag(T314, T313, succZH_out_ag(T314, T313)) → addcF_out_aag(b, T314, T313)
addcF_in_aag(T330, T331, T329) → U23_aag(T330, T331, T329, addCI_in_aag(T330, T331, T329))
addCI_in_aag(zero(T350), zero(T351), one(T349)) → U13_aag(T350, T351, T349, addzC_in_aag(T350, T351, T349))
U13_aag(T350, T351, T349, addzC_out_aag(T350, T351, T349)) → addCI_out_aag(zero(T350), zero(T351), one(T349))
addCI_in_aag(zero(zero(T377)), one(b), zero(one(T377))) → U14_aag(T377, binaryZA_in_g(T377))
U14_aag(T377, binaryZA_out_g(T377)) → addCI_out_aag(zero(zero(T377)), one(b), zero(one(T377)))
addCI_in_aag(zero(one(T389)), one(b), zero(zero(T388))) → U15_aag(T389, T388, succG_in_ag(T389, T388))
U15_aag(T389, T388, succG_out_ag(T389, T388)) → addCI_out_aag(zero(one(T389)), one(b), zero(zero(T388)))
addCI_in_aag(zero(T404), one(T405), zero(T403)) → U16_aag(T404, T405, T403, addCI_in_aag(T404, T405, T403))
addCI_in_aag(one(b), zero(zero(T431)), zero(one(T431))) → U17_aag(T431, binaryZA_in_g(T431))
U17_aag(T431, binaryZA_out_g(T431)) → addCI_out_aag(one(b), zero(zero(T431)), zero(one(T431)))
addCI_in_aag(one(b), zero(one(T443)), zero(zero(T442))) → U18_aag(T443, T442, succG_in_ag(T443, T442))
U18_aag(T443, T442, succG_out_ag(T443, T442)) → addCI_out_aag(one(b), zero(one(T443)), zero(zero(T442)))
addCI_in_aag(one(T458), zero(T459), zero(T457)) → U19_aag(T458, T459, T457, addCI_in_aag(T458, T459, T457))
addCI_in_aag(one(T472), one(T473), one(T471)) → U20_aag(T472, T473, T471, addcF_in_aag(T472, T473, T471))
U20_aag(T472, T473, T471, addcF_out_aag(T472, T473, T471)) → addCI_out_aag(one(T472), one(T473), one(T471))
U19_aag(T458, T459, T457, addCI_out_aag(T458, T459, T457)) → addCI_out_aag(one(T458), zero(T459), zero(T457))
U16_aag(T404, T405, T403, addCI_out_aag(T404, T405, T403)) → addCI_out_aag(zero(T404), one(T405), zero(T403))
U23_aag(T330, T331, T329, addCI_out_aag(T330, T331, T329)) → addcF_out_aag(T330, T331, T329)
U8_aag(T264, T265, T263, addcF_out_aag(T264, T265, T263)) → addzC_out_aag(one(T264), one(T265), zero(T263))
U29_aag(T250, T251, T249, addzC_out_aag(T250, T251, T249)) → addyE_out_aag(T250, T251, T249)
U7_aag(T222, T223, T221, addyE_out_aag(T222, T223, T221)) → addzC_out_aag(one(T222), zero(T223), one(T221))
U26_aag(T202, T203, T201, addzC_out_aag(T202, T203, T201)) → addxD_out_aag(T202, T203, T201)
U6_aag(T174, T175, T173, addxD_out_aag(T174, T175, T173)) → addzC_out_aag(zero(T174), one(T175), one(T173))
U5_aag(T154, T155, T153, addzC_out_aag(T154, T155, T153)) → addzC_out_aag(zero(T154), zero(T155), zero(T153))
U30_aag(T134, T135, T133, addzC_out_aag(T134, T135, T133)) → addzJ_out_aag(zero(T134), zero(T135), zero(T133))
addzJ_in_aag(zero(T489), one(T490), one(T488)) → U31_aag(T489, T490, T488, addxD_in_aag(T489, T490, T488))
U31_aag(T489, T490, T488, addxD_out_aag(T489, T490, T488)) → addzJ_out_aag(zero(T489), one(T490), one(T488))
addzJ_in_aag(one(T507), zero(T508), one(T506)) → U32_aag(T507, T508, T506, addyE_in_aag(T507, T508, T506))
U32_aag(T507, T508, T506, addyE_out_aag(T507, T508, T506)) → addzJ_out_aag(one(T507), zero(T508), one(T506))
addzJ_in_aag(one(T519), one(T520), zero(T518)) → U33_aag(T519, T520, T518, addcF_in_aag(T519, T520, T518))
U33_aag(T519, T520, T518, addcF_out_aag(T519, T520, T518)) → addzJ_out_aag(one(T519), one(T520), zero(T518))
U37_aag(T114, T115, T113, addzJ_out_aag(T114, T115, T113)) → addK_out_aag(T114, T115, T113)
addK_in_aag(b, zero(T527), zero(T527)) → U38_aag(T527, binaryZA_in_g(T527))
U38_aag(T527, binaryZA_out_g(T527)) → addK_out_aag(b, zero(T527), zero(T527))
addK_in_aag(b, one(T533), one(T533)) → U39_aag(T533, binaryB_in_g(T533))
U39_aag(T533, binaryB_out_g(T533)) → addK_out_aag(b, one(T533), one(T533))
addK_in_aag(T548, T549, T547) → U40_aag(T548, T549, T547, addzJ_in_aag(T548, T549, T547))
U40_aag(T548, T549, T547, addzJ_out_aag(T548, T549, T547)) → addK_out_aag(T548, T549, T547)
addK_in_aag(zero(T576), zero(T577), zero(T575)) → U41_aag(T576, T577, T575, addzC_in_aag(T576, T577, T575))
U41_aag(T576, T577, T575, addzC_out_aag(T576, T577, T575)) → addK_out_aag(zero(T576), zero(T577), zero(T575))
addK_in_aag(zero(T596), one(T597), one(T595)) → U42_aag(T596, T597, T595, addxD_in_aag(T596, T597, T595))
U42_aag(T596, T597, T595, addxD_out_aag(T596, T597, T595)) → addK_out_aag(zero(T596), one(T597), one(T595))
addK_in_aag(one(T614), zero(T615), one(T613)) → U43_aag(T614, T615, T613, addyE_in_aag(T614, T615, T613))
U43_aag(T614, T615, T613, addyE_out_aag(T614, T615, T613)) → addK_out_aag(one(T614), zero(T615), one(T613))
addK_in_aag(one(T626), one(T627), zero(T625)) → U44_aag(T626, T627, T625, addcF_in_aag(T626, T627, T625))
U44_aag(T626, T627, T625, addcF_out_aag(T626, T627, T625)) → addK_out_aag(one(T626), one(T627), zero(T625))

The argument filtering Pi contains the following mapping:
addK_in_aag(x1, x2, x3)  =  addK_in_aag(x3)
b  =  b
addK_out_aag(x1, x2, x3)  =  addK_out_aag(x1, x2)
zero(x1)  =  zero(x1)
U34_aag(x1, x2)  =  U34_aag(x1, x2)
binaryZA_in_g(x1)  =  binaryZA_in_g(x1)
U1_g(x1, x2)  =  U1_g(x2)
one(x1)  =  one(x1)
U2_g(x1, x2)  =  U2_g(x2)
binaryB_in_g(x1)  =  binaryB_in_g(x1)
binaryB_out_g(x1)  =  binaryB_out_g
U3_g(x1, x2)  =  U3_g(x2)
binaryZA_out_g(x1)  =  binaryZA_out_g
U4_g(x1, x2)  =  U4_g(x2)
U35_aag(x1, x2)  =  U35_aag(x1, x2)
U36_aag(x1, x2)  =  U36_aag(x1, x2)
U37_aag(x1, x2, x3, x4)  =  U37_aag(x4)
addzJ_in_aag(x1, x2, x3)  =  addzJ_in_aag(x3)
U30_aag(x1, x2, x3, x4)  =  U30_aag(x4)
addzC_in_aag(x1, x2, x3)  =  addzC_in_aag(x3)
U5_aag(x1, x2, x3, x4)  =  U5_aag(x4)
U6_aag(x1, x2, x3, x4)  =  U6_aag(x4)
addxD_in_aag(x1, x2, x3)  =  addxD_in_aag(x3)
U24_aag(x1, x2)  =  U24_aag(x1, x2)
addxD_out_aag(x1, x2, x3)  =  addxD_out_aag(x1, x2)
U25_aag(x1, x2)  =  U25_aag(x1, x2)
U26_aag(x1, x2, x3, x4)  =  U26_aag(x4)
U7_aag(x1, x2, x3, x4)  =  U7_aag(x4)
addyE_in_aag(x1, x2, x3)  =  addyE_in_aag(x3)
U27_aag(x1, x2)  =  U27_aag(x1, x2)
addyE_out_aag(x1, x2, x3)  =  addyE_out_aag(x1, x2)
U28_aag(x1, x2)  =  U28_aag(x1, x2)
U29_aag(x1, x2, x3, x4)  =  U29_aag(x4)
U8_aag(x1, x2, x3, x4)  =  U8_aag(x4)
addcF_in_aag(x1, x2, x3)  =  addcF_in_aag(x3)
addcF_out_aag(x1, x2, x3)  =  addcF_out_aag(x1, x2)
U21_aag(x1, x2, x3)  =  U21_aag(x3)
succZH_in_ag(x1, x2)  =  succZH_in_ag(x2)
U11_ag(x1, x2)  =  U11_ag(x1, x2)
succZH_out_ag(x1, x2)  =  succZH_out_ag(x1)
U12_ag(x1, x2, x3)  =  U12_ag(x3)
succG_in_ag(x1, x2)  =  succG_in_ag(x2)
succG_out_ag(x1, x2)  =  succG_out_ag(x1)
U9_ag(x1, x2)  =  U9_ag(x1, x2)
U10_ag(x1, x2, x3)  =  U10_ag(x3)
U22_aag(x1, x2, x3)  =  U22_aag(x3)
U23_aag(x1, x2, x3, x4)  =  U23_aag(x4)
addCI_in_aag(x1, x2, x3)  =  addCI_in_aag(x3)
U13_aag(x1, x2, x3, x4)  =  U13_aag(x4)
addzC_out_aag(x1, x2, x3)  =  addzC_out_aag(x1, x2)
addCI_out_aag(x1, x2, x3)  =  addCI_out_aag(x1, x2)
U14_aag(x1, x2)  =  U14_aag(x1, x2)
U15_aag(x1, x2, x3)  =  U15_aag(x3)
U16_aag(x1, x2, x3, x4)  =  U16_aag(x4)
U17_aag(x1, x2)  =  U17_aag(x1, x2)
U18_aag(x1, x2, x3)  =  U18_aag(x3)
U19_aag(x1, x2, x3, x4)  =  U19_aag(x4)
U20_aag(x1, x2, x3, x4)  =  U20_aag(x4)
addzJ_out_aag(x1, x2, x3)  =  addzJ_out_aag(x1, x2)
U31_aag(x1, x2, x3, x4)  =  U31_aag(x4)
U32_aag(x1, x2, x3, x4)  =  U32_aag(x4)
U33_aag(x1, x2, x3, x4)  =  U33_aag(x4)
U38_aag(x1, x2)  =  U38_aag(x1, x2)
U39_aag(x1, x2)  =  U39_aag(x1, x2)
U40_aag(x1, x2, x3, x4)  =  U40_aag(x4)
U41_aag(x1, x2, x3, x4)  =  U41_aag(x4)
U42_aag(x1, x2, x3, x4)  =  U42_aag(x4)
U43_aag(x1, x2, x3, x4)  =  U43_aag(x4)
U44_aag(x1, x2, x3, x4)  =  U44_aag(x4)
ADDK_IN_AAG(x1, x2, x3)  =  ADDK_IN_AAG(x3)
U34_AAG(x1, x2)  =  U34_AAG(x1, x2)
BINARYZA_IN_G(x1)  =  BINARYZA_IN_G(x1)
U1_G(x1, x2)  =  U1_G(x2)
U2_G(x1, x2)  =  U2_G(x2)
BINARYB_IN_G(x1)  =  BINARYB_IN_G(x1)
U3_G(x1, x2)  =  U3_G(x2)
U4_G(x1, x2)  =  U4_G(x2)
U35_AAG(x1, x2)  =  U35_AAG(x1, x2)
U36_AAG(x1, x2)  =  U36_AAG(x1, x2)
U37_AAG(x1, x2, x3, x4)  =  U37_AAG(x4)
ADDZJ_IN_AAG(x1, x2, x3)  =  ADDZJ_IN_AAG(x3)
U30_AAG(x1, x2, x3, x4)  =  U30_AAG(x4)
ADDZC_IN_AAG(x1, x2, x3)  =  ADDZC_IN_AAG(x3)
U5_AAG(x1, x2, x3, x4)  =  U5_AAG(x4)
U6_AAG(x1, x2, x3, x4)  =  U6_AAG(x4)
ADDXD_IN_AAG(x1, x2, x3)  =  ADDXD_IN_AAG(x3)
U24_AAG(x1, x2)  =  U24_AAG(x1, x2)
U25_AAG(x1, x2)  =  U25_AAG(x1, x2)
U26_AAG(x1, x2, x3, x4)  =  U26_AAG(x4)
U7_AAG(x1, x2, x3, x4)  =  U7_AAG(x4)
ADDYE_IN_AAG(x1, x2, x3)  =  ADDYE_IN_AAG(x3)
U27_AAG(x1, x2)  =  U27_AAG(x1, x2)
U28_AAG(x1, x2)  =  U28_AAG(x1, x2)
U29_AAG(x1, x2, x3, x4)  =  U29_AAG(x4)
U8_AAG(x1, x2, x3, x4)  =  U8_AAG(x4)
ADDCF_IN_AAG(x1, x2, x3)  =  ADDCF_IN_AAG(x3)
U21_AAG(x1, x2, x3)  =  U21_AAG(x3)
SUCCZH_IN_AG(x1, x2)  =  SUCCZH_IN_AG(x2)
U11_AG(x1, x2)  =  U11_AG(x1, x2)
U12_AG(x1, x2, x3)  =  U12_AG(x3)
SUCCG_IN_AG(x1, x2)  =  SUCCG_IN_AG(x2)
U9_AG(x1, x2)  =  U9_AG(x1, x2)
U10_AG(x1, x2, x3)  =  U10_AG(x3)
U22_AAG(x1, x2, x3)  =  U22_AAG(x3)
U23_AAG(x1, x2, x3, x4)  =  U23_AAG(x4)
ADDCI_IN_AAG(x1, x2, x3)  =  ADDCI_IN_AAG(x3)
U13_AAG(x1, x2, x3, x4)  =  U13_AAG(x4)
U14_AAG(x1, x2)  =  U14_AAG(x1, x2)
U15_AAG(x1, x2, x3)  =  U15_AAG(x3)
U16_AAG(x1, x2, x3, x4)  =  U16_AAG(x4)
U17_AAG(x1, x2)  =  U17_AAG(x1, x2)
U18_AAG(x1, x2, x3)  =  U18_AAG(x3)
U19_AAG(x1, x2, x3, x4)  =  U19_AAG(x4)
U20_AAG(x1, x2, x3, x4)  =  U20_AAG(x4)
U31_AAG(x1, x2, x3, x4)  =  U31_AAG(x4)
U32_AAG(x1, x2, x3, x4)  =  U32_AAG(x4)
U33_AAG(x1, x2, x3, x4)  =  U33_AAG(x4)
U38_AAG(x1, x2)  =  U38_AAG(x1, x2)
U39_AAG(x1, x2)  =  U39_AAG(x1, x2)
U40_AAG(x1, x2, x3, x4)  =  U40_AAG(x4)
U41_AAG(x1, x2, x3, x4)  =  U41_AAG(x4)
U42_AAG(x1, x2, x3, x4)  =  U42_AAG(x4)
U43_AAG(x1, x2, x3, x4)  =  U43_AAG(x4)
U44_AAG(x1, x2, x3, x4)  =  U44_AAG(x4)

We have to consider all (P,R,Pi)-chains

(6) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

ADDK_IN_AAG(zero(T69), b, zero(T69)) → U34_AAG(T69, binaryZA_in_g(T69))
ADDK_IN_AAG(zero(T69), b, zero(T69)) → BINARYZA_IN_G(T69)
BINARYZA_IN_G(zero(T75)) → U1_G(T75, binaryZA_in_g(T75))
BINARYZA_IN_G(zero(T75)) → BINARYZA_IN_G(T75)
BINARYZA_IN_G(one(T79)) → U2_G(T79, binaryB_in_g(T79))
BINARYZA_IN_G(one(T79)) → BINARYB_IN_G(T79)
BINARYB_IN_G(zero(T84)) → U3_G(T84, binaryZA_in_g(T84))
BINARYB_IN_G(zero(T84)) → BINARYZA_IN_G(T84)
BINARYB_IN_G(one(T88)) → U4_G(T88, binaryB_in_g(T88))
BINARYB_IN_G(one(T88)) → BINARYB_IN_G(T88)
ADDK_IN_AAG(one(T93), b, one(T93)) → U35_AAG(T93, binaryB_in_g(T93))
ADDK_IN_AAG(one(T93), b, one(T93)) → BINARYB_IN_G(T93)
ADDK_IN_AAG(b, T98, T98) → U36_AAG(T98, binaryZA_in_g(T98))
ADDK_IN_AAG(b, T98, T98) → BINARYZA_IN_G(T98)
ADDK_IN_AAG(T114, T115, T113) → U37_AAG(T114, T115, T113, addzJ_in_aag(T114, T115, T113))
ADDK_IN_AAG(T114, T115, T113) → ADDZJ_IN_AAG(T114, T115, T113)
ADDZJ_IN_AAG(zero(T134), zero(T135), zero(T133)) → U30_AAG(T134, T135, T133, addzC_in_aag(T134, T135, T133))
ADDZJ_IN_AAG(zero(T134), zero(T135), zero(T133)) → ADDZC_IN_AAG(T134, T135, T133)
ADDZC_IN_AAG(zero(T154), zero(T155), zero(T153)) → U5_AAG(T154, T155, T153, addzC_in_aag(T154, T155, T153))
ADDZC_IN_AAG(zero(T154), zero(T155), zero(T153)) → ADDZC_IN_AAG(T154, T155, T153)
ADDZC_IN_AAG(zero(T174), one(T175), one(T173)) → U6_AAG(T174, T175, T173, addxD_in_aag(T174, T175, T173))
ADDZC_IN_AAG(zero(T174), one(T175), one(T173)) → ADDXD_IN_AAG(T174, T175, T173)
ADDXD_IN_AAG(one(T181), b, one(T181)) → U24_AAG(T181, binaryB_in_g(T181))
ADDXD_IN_AAG(one(T181), b, one(T181)) → BINARYB_IN_G(T181)
ADDXD_IN_AAG(zero(T186), b, zero(T186)) → U25_AAG(T186, binaryZA_in_g(T186))
ADDXD_IN_AAG(zero(T186), b, zero(T186)) → BINARYZA_IN_G(T186)
ADDXD_IN_AAG(T202, T203, T201) → U26_AAG(T202, T203, T201, addzC_in_aag(T202, T203, T201))
ADDXD_IN_AAG(T202, T203, T201) → ADDZC_IN_AAG(T202, T203, T201)
ADDZC_IN_AAG(one(T222), zero(T223), one(T221)) → U7_AAG(T222, T223, T221, addyE_in_aag(T222, T223, T221))
ADDZC_IN_AAG(one(T222), zero(T223), one(T221)) → ADDYE_IN_AAG(T222, T223, T221)
ADDYE_IN_AAG(b, one(T229), one(T229)) → U27_AAG(T229, binaryB_in_g(T229))
ADDYE_IN_AAG(b, one(T229), one(T229)) → BINARYB_IN_G(T229)
ADDYE_IN_AAG(b, zero(T234), zero(T234)) → U28_AAG(T234, binaryZA_in_g(T234))
ADDYE_IN_AAG(b, zero(T234), zero(T234)) → BINARYZA_IN_G(T234)
ADDYE_IN_AAG(T250, T251, T249) → U29_AAG(T250, T251, T249, addzC_in_aag(T250, T251, T249))
ADDYE_IN_AAG(T250, T251, T249) → ADDZC_IN_AAG(T250, T251, T249)
ADDZC_IN_AAG(one(T264), one(T265), zero(T263)) → U8_AAG(T264, T265, T263, addcF_in_aag(T264, T265, T263))
ADDZC_IN_AAG(one(T264), one(T265), zero(T263)) → ADDCF_IN_AAG(T264, T265, T263)
ADDCF_IN_AAG(T276, b, T275) → U21_AAG(T276, T275, succZH_in_ag(T276, T275))
ADDCF_IN_AAG(T276, b, T275) → SUCCZH_IN_AG(T276, T275)
SUCCZH_IN_AG(zero(T282), one(T282)) → U11_AG(T282, binaryZA_in_g(T282))
SUCCZH_IN_AG(zero(T282), one(T282)) → BINARYZA_IN_G(T282)
SUCCZH_IN_AG(one(T290), zero(T289)) → U12_AG(T290, T289, succG_in_ag(T290, T289))
SUCCZH_IN_AG(one(T290), zero(T289)) → SUCCG_IN_AG(T290, T289)
SUCCG_IN_AG(zero(T295), one(T295)) → U9_AG(T295, binaryZA_in_g(T295))
SUCCG_IN_AG(zero(T295), one(T295)) → BINARYZA_IN_G(T295)
SUCCG_IN_AG(one(T303), zero(T302)) → U10_AG(T303, T302, succG_in_ag(T303, T302))
SUCCG_IN_AG(one(T303), zero(T302)) → SUCCG_IN_AG(T303, T302)
ADDCF_IN_AAG(b, T314, T313) → U22_AAG(T314, T313, succZH_in_ag(T314, T313))
ADDCF_IN_AAG(b, T314, T313) → SUCCZH_IN_AG(T314, T313)
ADDCF_IN_AAG(T330, T331, T329) → U23_AAG(T330, T331, T329, addCI_in_aag(T330, T331, T329))
ADDCF_IN_AAG(T330, T331, T329) → ADDCI_IN_AAG(T330, T331, T329)
ADDCI_IN_AAG(zero(T350), zero(T351), one(T349)) → U13_AAG(T350, T351, T349, addzC_in_aag(T350, T351, T349))
ADDCI_IN_AAG(zero(T350), zero(T351), one(T349)) → ADDZC_IN_AAG(T350, T351, T349)
ADDCI_IN_AAG(zero(zero(T377)), one(b), zero(one(T377))) → U14_AAG(T377, binaryZA_in_g(T377))
ADDCI_IN_AAG(zero(zero(T377)), one(b), zero(one(T377))) → BINARYZA_IN_G(T377)
ADDCI_IN_AAG(zero(one(T389)), one(b), zero(zero(T388))) → U15_AAG(T389, T388, succG_in_ag(T389, T388))
ADDCI_IN_AAG(zero(one(T389)), one(b), zero(zero(T388))) → SUCCG_IN_AG(T389, T388)
ADDCI_IN_AAG(zero(T404), one(T405), zero(T403)) → U16_AAG(T404, T405, T403, addCI_in_aag(T404, T405, T403))
ADDCI_IN_AAG(zero(T404), one(T405), zero(T403)) → ADDCI_IN_AAG(T404, T405, T403)
ADDCI_IN_AAG(one(b), zero(zero(T431)), zero(one(T431))) → U17_AAG(T431, binaryZA_in_g(T431))
ADDCI_IN_AAG(one(b), zero(zero(T431)), zero(one(T431))) → BINARYZA_IN_G(T431)
ADDCI_IN_AAG(one(b), zero(one(T443)), zero(zero(T442))) → U18_AAG(T443, T442, succG_in_ag(T443, T442))
ADDCI_IN_AAG(one(b), zero(one(T443)), zero(zero(T442))) → SUCCG_IN_AG(T443, T442)
ADDCI_IN_AAG(one(T458), zero(T459), zero(T457)) → U19_AAG(T458, T459, T457, addCI_in_aag(T458, T459, T457))
ADDCI_IN_AAG(one(T458), zero(T459), zero(T457)) → ADDCI_IN_AAG(T458, T459, T457)
ADDCI_IN_AAG(one(T472), one(T473), one(T471)) → U20_AAG(T472, T473, T471, addcF_in_aag(T472, T473, T471))
ADDCI_IN_AAG(one(T472), one(T473), one(T471)) → ADDCF_IN_AAG(T472, T473, T471)
ADDZJ_IN_AAG(zero(T489), one(T490), one(T488)) → U31_AAG(T489, T490, T488, addxD_in_aag(T489, T490, T488))
ADDZJ_IN_AAG(zero(T489), one(T490), one(T488)) → ADDXD_IN_AAG(T489, T490, T488)
ADDZJ_IN_AAG(one(T507), zero(T508), one(T506)) → U32_AAG(T507, T508, T506, addyE_in_aag(T507, T508, T506))
ADDZJ_IN_AAG(one(T507), zero(T508), one(T506)) → ADDYE_IN_AAG(T507, T508, T506)
ADDZJ_IN_AAG(one(T519), one(T520), zero(T518)) → U33_AAG(T519, T520, T518, addcF_in_aag(T519, T520, T518))
ADDZJ_IN_AAG(one(T519), one(T520), zero(T518)) → ADDCF_IN_AAG(T519, T520, T518)
ADDK_IN_AAG(b, zero(T527), zero(T527)) → U38_AAG(T527, binaryZA_in_g(T527))
ADDK_IN_AAG(b, zero(T527), zero(T527)) → BINARYZA_IN_G(T527)
ADDK_IN_AAG(b, one(T533), one(T533)) → U39_AAG(T533, binaryB_in_g(T533))
ADDK_IN_AAG(b, one(T533), one(T533)) → BINARYB_IN_G(T533)
ADDK_IN_AAG(T548, T549, T547) → U40_AAG(T548, T549, T547, addzJ_in_aag(T548, T549, T547))
ADDK_IN_AAG(zero(T576), zero(T577), zero(T575)) → U41_AAG(T576, T577, T575, addzC_in_aag(T576, T577, T575))
ADDK_IN_AAG(zero(T576), zero(T577), zero(T575)) → ADDZC_IN_AAG(T576, T577, T575)
ADDK_IN_AAG(zero(T596), one(T597), one(T595)) → U42_AAG(T596, T597, T595, addxD_in_aag(T596, T597, T595))
ADDK_IN_AAG(zero(T596), one(T597), one(T595)) → ADDXD_IN_AAG(T596, T597, T595)
ADDK_IN_AAG(one(T614), zero(T615), one(T613)) → U43_AAG(T614, T615, T613, addyE_in_aag(T614, T615, T613))
ADDK_IN_AAG(one(T614), zero(T615), one(T613)) → ADDYE_IN_AAG(T614, T615, T613)
ADDK_IN_AAG(one(T626), one(T627), zero(T625)) → U44_AAG(T626, T627, T625, addcF_in_aag(T626, T627, T625))
ADDK_IN_AAG(one(T626), one(T627), zero(T625)) → ADDCF_IN_AAG(T626, T627, T625)

The TRS R consists of the following rules:

addK_in_aag(b, b, b) → addK_out_aag(b, b, b)
addK_in_aag(zero(T69), b, zero(T69)) → U34_aag(T69, binaryZA_in_g(T69))
binaryZA_in_g(zero(T75)) → U1_g(T75, binaryZA_in_g(T75))
binaryZA_in_g(one(T79)) → U2_g(T79, binaryB_in_g(T79))
binaryB_in_g(b) → binaryB_out_g(b)
binaryB_in_g(zero(T84)) → U3_g(T84, binaryZA_in_g(T84))
U3_g(T84, binaryZA_out_g(T84)) → binaryB_out_g(zero(T84))
binaryB_in_g(one(T88)) → U4_g(T88, binaryB_in_g(T88))
U4_g(T88, binaryB_out_g(T88)) → binaryB_out_g(one(T88))
U2_g(T79, binaryB_out_g(T79)) → binaryZA_out_g(one(T79))
U1_g(T75, binaryZA_out_g(T75)) → binaryZA_out_g(zero(T75))
U34_aag(T69, binaryZA_out_g(T69)) → addK_out_aag(zero(T69), b, zero(T69))
addK_in_aag(one(T93), b, one(T93)) → U35_aag(T93, binaryB_in_g(T93))
U35_aag(T93, binaryB_out_g(T93)) → addK_out_aag(one(T93), b, one(T93))
addK_in_aag(b, T98, T98) → U36_aag(T98, binaryZA_in_g(T98))
U36_aag(T98, binaryZA_out_g(T98)) → addK_out_aag(b, T98, T98)
addK_in_aag(T114, T115, T113) → U37_aag(T114, T115, T113, addzJ_in_aag(T114, T115, T113))
addzJ_in_aag(zero(T134), zero(T135), zero(T133)) → U30_aag(T134, T135, T133, addzC_in_aag(T134, T135, T133))
addzC_in_aag(zero(T154), zero(T155), zero(T153)) → U5_aag(T154, T155, T153, addzC_in_aag(T154, T155, T153))
addzC_in_aag(zero(T174), one(T175), one(T173)) → U6_aag(T174, T175, T173, addxD_in_aag(T174, T175, T173))
addxD_in_aag(one(T181), b, one(T181)) → U24_aag(T181, binaryB_in_g(T181))
U24_aag(T181, binaryB_out_g(T181)) → addxD_out_aag(one(T181), b, one(T181))
addxD_in_aag(zero(T186), b, zero(T186)) → U25_aag(T186, binaryZA_in_g(T186))
U25_aag(T186, binaryZA_out_g(T186)) → addxD_out_aag(zero(T186), b, zero(T186))
addxD_in_aag(T202, T203, T201) → U26_aag(T202, T203, T201, addzC_in_aag(T202, T203, T201))
addzC_in_aag(one(T222), zero(T223), one(T221)) → U7_aag(T222, T223, T221, addyE_in_aag(T222, T223, T221))
addyE_in_aag(b, one(T229), one(T229)) → U27_aag(T229, binaryB_in_g(T229))
U27_aag(T229, binaryB_out_g(T229)) → addyE_out_aag(b, one(T229), one(T229))
addyE_in_aag(b, zero(T234), zero(T234)) → U28_aag(T234, binaryZA_in_g(T234))
U28_aag(T234, binaryZA_out_g(T234)) → addyE_out_aag(b, zero(T234), zero(T234))
addyE_in_aag(T250, T251, T249) → U29_aag(T250, T251, T249, addzC_in_aag(T250, T251, T249))
addzC_in_aag(one(T264), one(T265), zero(T263)) → U8_aag(T264, T265, T263, addcF_in_aag(T264, T265, T263))
addcF_in_aag(b, b, one(b)) → addcF_out_aag(b, b, one(b))
addcF_in_aag(T276, b, T275) → U21_aag(T276, T275, succZH_in_ag(T276, T275))
succZH_in_ag(zero(T282), one(T282)) → U11_ag(T282, binaryZA_in_g(T282))
U11_ag(T282, binaryZA_out_g(T282)) → succZH_out_ag(zero(T282), one(T282))
succZH_in_ag(one(T290), zero(T289)) → U12_ag(T290, T289, succG_in_ag(T290, T289))
succG_in_ag(b, one(b)) → succG_out_ag(b, one(b))
succG_in_ag(zero(T295), one(T295)) → U9_ag(T295, binaryZA_in_g(T295))
U9_ag(T295, binaryZA_out_g(T295)) → succG_out_ag(zero(T295), one(T295))
succG_in_ag(one(T303), zero(T302)) → U10_ag(T303, T302, succG_in_ag(T303, T302))
U10_ag(T303, T302, succG_out_ag(T303, T302)) → succG_out_ag(one(T303), zero(T302))
U12_ag(T290, T289, succG_out_ag(T290, T289)) → succZH_out_ag(one(T290), zero(T289))
U21_aag(T276, T275, succZH_out_ag(T276, T275)) → addcF_out_aag(T276, b, T275)
addcF_in_aag(b, T314, T313) → U22_aag(T314, T313, succZH_in_ag(T314, T313))
U22_aag(T314, T313, succZH_out_ag(T314, T313)) → addcF_out_aag(b, T314, T313)
addcF_in_aag(T330, T331, T329) → U23_aag(T330, T331, T329, addCI_in_aag(T330, T331, T329))
addCI_in_aag(zero(T350), zero(T351), one(T349)) → U13_aag(T350, T351, T349, addzC_in_aag(T350, T351, T349))
U13_aag(T350, T351, T349, addzC_out_aag(T350, T351, T349)) → addCI_out_aag(zero(T350), zero(T351), one(T349))
addCI_in_aag(zero(zero(T377)), one(b), zero(one(T377))) → U14_aag(T377, binaryZA_in_g(T377))
U14_aag(T377, binaryZA_out_g(T377)) → addCI_out_aag(zero(zero(T377)), one(b), zero(one(T377)))
addCI_in_aag(zero(one(T389)), one(b), zero(zero(T388))) → U15_aag(T389, T388, succG_in_ag(T389, T388))
U15_aag(T389, T388, succG_out_ag(T389, T388)) → addCI_out_aag(zero(one(T389)), one(b), zero(zero(T388)))
addCI_in_aag(zero(T404), one(T405), zero(T403)) → U16_aag(T404, T405, T403, addCI_in_aag(T404, T405, T403))
addCI_in_aag(one(b), zero(zero(T431)), zero(one(T431))) → U17_aag(T431, binaryZA_in_g(T431))
U17_aag(T431, binaryZA_out_g(T431)) → addCI_out_aag(one(b), zero(zero(T431)), zero(one(T431)))
addCI_in_aag(one(b), zero(one(T443)), zero(zero(T442))) → U18_aag(T443, T442, succG_in_ag(T443, T442))
U18_aag(T443, T442, succG_out_ag(T443, T442)) → addCI_out_aag(one(b), zero(one(T443)), zero(zero(T442)))
addCI_in_aag(one(T458), zero(T459), zero(T457)) → U19_aag(T458, T459, T457, addCI_in_aag(T458, T459, T457))
addCI_in_aag(one(T472), one(T473), one(T471)) → U20_aag(T472, T473, T471, addcF_in_aag(T472, T473, T471))
U20_aag(T472, T473, T471, addcF_out_aag(T472, T473, T471)) → addCI_out_aag(one(T472), one(T473), one(T471))
U19_aag(T458, T459, T457, addCI_out_aag(T458, T459, T457)) → addCI_out_aag(one(T458), zero(T459), zero(T457))
U16_aag(T404, T405, T403, addCI_out_aag(T404, T405, T403)) → addCI_out_aag(zero(T404), one(T405), zero(T403))
U23_aag(T330, T331, T329, addCI_out_aag(T330, T331, T329)) → addcF_out_aag(T330, T331, T329)
U8_aag(T264, T265, T263, addcF_out_aag(T264, T265, T263)) → addzC_out_aag(one(T264), one(T265), zero(T263))
U29_aag(T250, T251, T249, addzC_out_aag(T250, T251, T249)) → addyE_out_aag(T250, T251, T249)
U7_aag(T222, T223, T221, addyE_out_aag(T222, T223, T221)) → addzC_out_aag(one(T222), zero(T223), one(T221))
U26_aag(T202, T203, T201, addzC_out_aag(T202, T203, T201)) → addxD_out_aag(T202, T203, T201)
U6_aag(T174, T175, T173, addxD_out_aag(T174, T175, T173)) → addzC_out_aag(zero(T174), one(T175), one(T173))
U5_aag(T154, T155, T153, addzC_out_aag(T154, T155, T153)) → addzC_out_aag(zero(T154), zero(T155), zero(T153))
U30_aag(T134, T135, T133, addzC_out_aag(T134, T135, T133)) → addzJ_out_aag(zero(T134), zero(T135), zero(T133))
addzJ_in_aag(zero(T489), one(T490), one(T488)) → U31_aag(T489, T490, T488, addxD_in_aag(T489, T490, T488))
U31_aag(T489, T490, T488, addxD_out_aag(T489, T490, T488)) → addzJ_out_aag(zero(T489), one(T490), one(T488))
addzJ_in_aag(one(T507), zero(T508), one(T506)) → U32_aag(T507, T508, T506, addyE_in_aag(T507, T508, T506))
U32_aag(T507, T508, T506, addyE_out_aag(T507, T508, T506)) → addzJ_out_aag(one(T507), zero(T508), one(T506))
addzJ_in_aag(one(T519), one(T520), zero(T518)) → U33_aag(T519, T520, T518, addcF_in_aag(T519, T520, T518))
U33_aag(T519, T520, T518, addcF_out_aag(T519, T520, T518)) → addzJ_out_aag(one(T519), one(T520), zero(T518))
U37_aag(T114, T115, T113, addzJ_out_aag(T114, T115, T113)) → addK_out_aag(T114, T115, T113)
addK_in_aag(b, zero(T527), zero(T527)) → U38_aag(T527, binaryZA_in_g(T527))
U38_aag(T527, binaryZA_out_g(T527)) → addK_out_aag(b, zero(T527), zero(T527))
addK_in_aag(b, one(T533), one(T533)) → U39_aag(T533, binaryB_in_g(T533))
U39_aag(T533, binaryB_out_g(T533)) → addK_out_aag(b, one(T533), one(T533))
addK_in_aag(T548, T549, T547) → U40_aag(T548, T549, T547, addzJ_in_aag(T548, T549, T547))
U40_aag(T548, T549, T547, addzJ_out_aag(T548, T549, T547)) → addK_out_aag(T548, T549, T547)
addK_in_aag(zero(T576), zero(T577), zero(T575)) → U41_aag(T576, T577, T575, addzC_in_aag(T576, T577, T575))
U41_aag(T576, T577, T575, addzC_out_aag(T576, T577, T575)) → addK_out_aag(zero(T576), zero(T577), zero(T575))
addK_in_aag(zero(T596), one(T597), one(T595)) → U42_aag(T596, T597, T595, addxD_in_aag(T596, T597, T595))
U42_aag(T596, T597, T595, addxD_out_aag(T596, T597, T595)) → addK_out_aag(zero(T596), one(T597), one(T595))
addK_in_aag(one(T614), zero(T615), one(T613)) → U43_aag(T614, T615, T613, addyE_in_aag(T614, T615, T613))
U43_aag(T614, T615, T613, addyE_out_aag(T614, T615, T613)) → addK_out_aag(one(T614), zero(T615), one(T613))
addK_in_aag(one(T626), one(T627), zero(T625)) → U44_aag(T626, T627, T625, addcF_in_aag(T626, T627, T625))
U44_aag(T626, T627, T625, addcF_out_aag(T626, T627, T625)) → addK_out_aag(one(T626), one(T627), zero(T625))

The argument filtering Pi contains the following mapping:
addK_in_aag(x1, x2, x3)  =  addK_in_aag(x3)
b  =  b
addK_out_aag(x1, x2, x3)  =  addK_out_aag(x1, x2)
zero(x1)  =  zero(x1)
U34_aag(x1, x2)  =  U34_aag(x1, x2)
binaryZA_in_g(x1)  =  binaryZA_in_g(x1)
U1_g(x1, x2)  =  U1_g(x2)
one(x1)  =  one(x1)
U2_g(x1, x2)  =  U2_g(x2)
binaryB_in_g(x1)  =  binaryB_in_g(x1)
binaryB_out_g(x1)  =  binaryB_out_g
U3_g(x1, x2)  =  U3_g(x2)
binaryZA_out_g(x1)  =  binaryZA_out_g
U4_g(x1, x2)  =  U4_g(x2)
U35_aag(x1, x2)  =  U35_aag(x1, x2)
U36_aag(x1, x2)  =  U36_aag(x1, x2)
U37_aag(x1, x2, x3, x4)  =  U37_aag(x4)
addzJ_in_aag(x1, x2, x3)  =  addzJ_in_aag(x3)
U30_aag(x1, x2, x3, x4)  =  U30_aag(x4)
addzC_in_aag(x1, x2, x3)  =  addzC_in_aag(x3)
U5_aag(x1, x2, x3, x4)  =  U5_aag(x4)
U6_aag(x1, x2, x3, x4)  =  U6_aag(x4)
addxD_in_aag(x1, x2, x3)  =  addxD_in_aag(x3)
U24_aag(x1, x2)  =  U24_aag(x1, x2)
addxD_out_aag(x1, x2, x3)  =  addxD_out_aag(x1, x2)
U25_aag(x1, x2)  =  U25_aag(x1, x2)
U26_aag(x1, x2, x3, x4)  =  U26_aag(x4)
U7_aag(x1, x2, x3, x4)  =  U7_aag(x4)
addyE_in_aag(x1, x2, x3)  =  addyE_in_aag(x3)
U27_aag(x1, x2)  =  U27_aag(x1, x2)
addyE_out_aag(x1, x2, x3)  =  addyE_out_aag(x1, x2)
U28_aag(x1, x2)  =  U28_aag(x1, x2)
U29_aag(x1, x2, x3, x4)  =  U29_aag(x4)
U8_aag(x1, x2, x3, x4)  =  U8_aag(x4)
addcF_in_aag(x1, x2, x3)  =  addcF_in_aag(x3)
addcF_out_aag(x1, x2, x3)  =  addcF_out_aag(x1, x2)
U21_aag(x1, x2, x3)  =  U21_aag(x3)
succZH_in_ag(x1, x2)  =  succZH_in_ag(x2)
U11_ag(x1, x2)  =  U11_ag(x1, x2)
succZH_out_ag(x1, x2)  =  succZH_out_ag(x1)
U12_ag(x1, x2, x3)  =  U12_ag(x3)
succG_in_ag(x1, x2)  =  succG_in_ag(x2)
succG_out_ag(x1, x2)  =  succG_out_ag(x1)
U9_ag(x1, x2)  =  U9_ag(x1, x2)
U10_ag(x1, x2, x3)  =  U10_ag(x3)
U22_aag(x1, x2, x3)  =  U22_aag(x3)
U23_aag(x1, x2, x3, x4)  =  U23_aag(x4)
addCI_in_aag(x1, x2, x3)  =  addCI_in_aag(x3)
U13_aag(x1, x2, x3, x4)  =  U13_aag(x4)
addzC_out_aag(x1, x2, x3)  =  addzC_out_aag(x1, x2)
addCI_out_aag(x1, x2, x3)  =  addCI_out_aag(x1, x2)
U14_aag(x1, x2)  =  U14_aag(x1, x2)
U15_aag(x1, x2, x3)  =  U15_aag(x3)
U16_aag(x1, x2, x3, x4)  =  U16_aag(x4)
U17_aag(x1, x2)  =  U17_aag(x1, x2)
U18_aag(x1, x2, x3)  =  U18_aag(x3)
U19_aag(x1, x2, x3, x4)  =  U19_aag(x4)
U20_aag(x1, x2, x3, x4)  =  U20_aag(x4)
addzJ_out_aag(x1, x2, x3)  =  addzJ_out_aag(x1, x2)
U31_aag(x1, x2, x3, x4)  =  U31_aag(x4)
U32_aag(x1, x2, x3, x4)  =  U32_aag(x4)
U33_aag(x1, x2, x3, x4)  =  U33_aag(x4)
U38_aag(x1, x2)  =  U38_aag(x1, x2)
U39_aag(x1, x2)  =  U39_aag(x1, x2)
U40_aag(x1, x2, x3, x4)  =  U40_aag(x4)
U41_aag(x1, x2, x3, x4)  =  U41_aag(x4)
U42_aag(x1, x2, x3, x4)  =  U42_aag(x4)
U43_aag(x1, x2, x3, x4)  =  U43_aag(x4)
U44_aag(x1, x2, x3, x4)  =  U44_aag(x4)
ADDK_IN_AAG(x1, x2, x3)  =  ADDK_IN_AAG(x3)
U34_AAG(x1, x2)  =  U34_AAG(x1, x2)
BINARYZA_IN_G(x1)  =  BINARYZA_IN_G(x1)
U1_G(x1, x2)  =  U1_G(x2)
U2_G(x1, x2)  =  U2_G(x2)
BINARYB_IN_G(x1)  =  BINARYB_IN_G(x1)
U3_G(x1, x2)  =  U3_G(x2)
U4_G(x1, x2)  =  U4_G(x2)
U35_AAG(x1, x2)  =  U35_AAG(x1, x2)
U36_AAG(x1, x2)  =  U36_AAG(x1, x2)
U37_AAG(x1, x2, x3, x4)  =  U37_AAG(x4)
ADDZJ_IN_AAG(x1, x2, x3)  =  ADDZJ_IN_AAG(x3)
U30_AAG(x1, x2, x3, x4)  =  U30_AAG(x4)
ADDZC_IN_AAG(x1, x2, x3)  =  ADDZC_IN_AAG(x3)
U5_AAG(x1, x2, x3, x4)  =  U5_AAG(x4)
U6_AAG(x1, x2, x3, x4)  =  U6_AAG(x4)
ADDXD_IN_AAG(x1, x2, x3)  =  ADDXD_IN_AAG(x3)
U24_AAG(x1, x2)  =  U24_AAG(x1, x2)
U25_AAG(x1, x2)  =  U25_AAG(x1, x2)
U26_AAG(x1, x2, x3, x4)  =  U26_AAG(x4)
U7_AAG(x1, x2, x3, x4)  =  U7_AAG(x4)
ADDYE_IN_AAG(x1, x2, x3)  =  ADDYE_IN_AAG(x3)
U27_AAG(x1, x2)  =  U27_AAG(x1, x2)
U28_AAG(x1, x2)  =  U28_AAG(x1, x2)
U29_AAG(x1, x2, x3, x4)  =  U29_AAG(x4)
U8_AAG(x1, x2, x3, x4)  =  U8_AAG(x4)
ADDCF_IN_AAG(x1, x2, x3)  =  ADDCF_IN_AAG(x3)
U21_AAG(x1, x2, x3)  =  U21_AAG(x3)
SUCCZH_IN_AG(x1, x2)  =  SUCCZH_IN_AG(x2)
U11_AG(x1, x2)  =  U11_AG(x1, x2)
U12_AG(x1, x2, x3)  =  U12_AG(x3)
SUCCG_IN_AG(x1, x2)  =  SUCCG_IN_AG(x2)
U9_AG(x1, x2)  =  U9_AG(x1, x2)
U10_AG(x1, x2, x3)  =  U10_AG(x3)
U22_AAG(x1, x2, x3)  =  U22_AAG(x3)
U23_AAG(x1, x2, x3, x4)  =  U23_AAG(x4)
ADDCI_IN_AAG(x1, x2, x3)  =  ADDCI_IN_AAG(x3)
U13_AAG(x1, x2, x3, x4)  =  U13_AAG(x4)
U14_AAG(x1, x2)  =  U14_AAG(x1, x2)
U15_AAG(x1, x2, x3)  =  U15_AAG(x3)
U16_AAG(x1, x2, x3, x4)  =  U16_AAG(x4)
U17_AAG(x1, x2)  =  U17_AAG(x1, x2)
U18_AAG(x1, x2, x3)  =  U18_AAG(x3)
U19_AAG(x1, x2, x3, x4)  =  U19_AAG(x4)
U20_AAG(x1, x2, x3, x4)  =  U20_AAG(x4)
U31_AAG(x1, x2, x3, x4)  =  U31_AAG(x4)
U32_AAG(x1, x2, x3, x4)  =  U32_AAG(x4)
U33_AAG(x1, x2, x3, x4)  =  U33_AAG(x4)
U38_AAG(x1, x2)  =  U38_AAG(x1, x2)
U39_AAG(x1, x2)  =  U39_AAG(x1, x2)
U40_AAG(x1, x2, x3, x4)  =  U40_AAG(x4)
U41_AAG(x1, x2, x3, x4)  =  U41_AAG(x4)
U42_AAG(x1, x2, x3, x4)  =  U42_AAG(x4)
U43_AAG(x1, x2, x3, x4)  =  U43_AAG(x4)
U44_AAG(x1, x2, x3, x4)  =  U44_AAG(x4)

We have to consider all (P,R,Pi)-chains

(7) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 3 SCCs with 71 less nodes.

(8) Complex Obligation (AND)

(9) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

BINARYZA_IN_G(one(T79)) → BINARYB_IN_G(T79)
BINARYB_IN_G(zero(T84)) → BINARYZA_IN_G(T84)
BINARYZA_IN_G(zero(T75)) → BINARYZA_IN_G(T75)
BINARYB_IN_G(one(T88)) → BINARYB_IN_G(T88)

The TRS R consists of the following rules:

addK_in_aag(b, b, b) → addK_out_aag(b, b, b)
addK_in_aag(zero(T69), b, zero(T69)) → U34_aag(T69, binaryZA_in_g(T69))
binaryZA_in_g(zero(T75)) → U1_g(T75, binaryZA_in_g(T75))
binaryZA_in_g(one(T79)) → U2_g(T79, binaryB_in_g(T79))
binaryB_in_g(b) → binaryB_out_g(b)
binaryB_in_g(zero(T84)) → U3_g(T84, binaryZA_in_g(T84))
U3_g(T84, binaryZA_out_g(T84)) → binaryB_out_g(zero(T84))
binaryB_in_g(one(T88)) → U4_g(T88, binaryB_in_g(T88))
U4_g(T88, binaryB_out_g(T88)) → binaryB_out_g(one(T88))
U2_g(T79, binaryB_out_g(T79)) → binaryZA_out_g(one(T79))
U1_g(T75, binaryZA_out_g(T75)) → binaryZA_out_g(zero(T75))
U34_aag(T69, binaryZA_out_g(T69)) → addK_out_aag(zero(T69), b, zero(T69))
addK_in_aag(one(T93), b, one(T93)) → U35_aag(T93, binaryB_in_g(T93))
U35_aag(T93, binaryB_out_g(T93)) → addK_out_aag(one(T93), b, one(T93))
addK_in_aag(b, T98, T98) → U36_aag(T98, binaryZA_in_g(T98))
U36_aag(T98, binaryZA_out_g(T98)) → addK_out_aag(b, T98, T98)
addK_in_aag(T114, T115, T113) → U37_aag(T114, T115, T113, addzJ_in_aag(T114, T115, T113))
addzJ_in_aag(zero(T134), zero(T135), zero(T133)) → U30_aag(T134, T135, T133, addzC_in_aag(T134, T135, T133))
addzC_in_aag(zero(T154), zero(T155), zero(T153)) → U5_aag(T154, T155, T153, addzC_in_aag(T154, T155, T153))
addzC_in_aag(zero(T174), one(T175), one(T173)) → U6_aag(T174, T175, T173, addxD_in_aag(T174, T175, T173))
addxD_in_aag(one(T181), b, one(T181)) → U24_aag(T181, binaryB_in_g(T181))
U24_aag(T181, binaryB_out_g(T181)) → addxD_out_aag(one(T181), b, one(T181))
addxD_in_aag(zero(T186), b, zero(T186)) → U25_aag(T186, binaryZA_in_g(T186))
U25_aag(T186, binaryZA_out_g(T186)) → addxD_out_aag(zero(T186), b, zero(T186))
addxD_in_aag(T202, T203, T201) → U26_aag(T202, T203, T201, addzC_in_aag(T202, T203, T201))
addzC_in_aag(one(T222), zero(T223), one(T221)) → U7_aag(T222, T223, T221, addyE_in_aag(T222, T223, T221))
addyE_in_aag(b, one(T229), one(T229)) → U27_aag(T229, binaryB_in_g(T229))
U27_aag(T229, binaryB_out_g(T229)) → addyE_out_aag(b, one(T229), one(T229))
addyE_in_aag(b, zero(T234), zero(T234)) → U28_aag(T234, binaryZA_in_g(T234))
U28_aag(T234, binaryZA_out_g(T234)) → addyE_out_aag(b, zero(T234), zero(T234))
addyE_in_aag(T250, T251, T249) → U29_aag(T250, T251, T249, addzC_in_aag(T250, T251, T249))
addzC_in_aag(one(T264), one(T265), zero(T263)) → U8_aag(T264, T265, T263, addcF_in_aag(T264, T265, T263))
addcF_in_aag(b, b, one(b)) → addcF_out_aag(b, b, one(b))
addcF_in_aag(T276, b, T275) → U21_aag(T276, T275, succZH_in_ag(T276, T275))
succZH_in_ag(zero(T282), one(T282)) → U11_ag(T282, binaryZA_in_g(T282))
U11_ag(T282, binaryZA_out_g(T282)) → succZH_out_ag(zero(T282), one(T282))
succZH_in_ag(one(T290), zero(T289)) → U12_ag(T290, T289, succG_in_ag(T290, T289))
succG_in_ag(b, one(b)) → succG_out_ag(b, one(b))
succG_in_ag(zero(T295), one(T295)) → U9_ag(T295, binaryZA_in_g(T295))
U9_ag(T295, binaryZA_out_g(T295)) → succG_out_ag(zero(T295), one(T295))
succG_in_ag(one(T303), zero(T302)) → U10_ag(T303, T302, succG_in_ag(T303, T302))
U10_ag(T303, T302, succG_out_ag(T303, T302)) → succG_out_ag(one(T303), zero(T302))
U12_ag(T290, T289, succG_out_ag(T290, T289)) → succZH_out_ag(one(T290), zero(T289))
U21_aag(T276, T275, succZH_out_ag(T276, T275)) → addcF_out_aag(T276, b, T275)
addcF_in_aag(b, T314, T313) → U22_aag(T314, T313, succZH_in_ag(T314, T313))
U22_aag(T314, T313, succZH_out_ag(T314, T313)) → addcF_out_aag(b, T314, T313)
addcF_in_aag(T330, T331, T329) → U23_aag(T330, T331, T329, addCI_in_aag(T330, T331, T329))
addCI_in_aag(zero(T350), zero(T351), one(T349)) → U13_aag(T350, T351, T349, addzC_in_aag(T350, T351, T349))
U13_aag(T350, T351, T349, addzC_out_aag(T350, T351, T349)) → addCI_out_aag(zero(T350), zero(T351), one(T349))
addCI_in_aag(zero(zero(T377)), one(b), zero(one(T377))) → U14_aag(T377, binaryZA_in_g(T377))
U14_aag(T377, binaryZA_out_g(T377)) → addCI_out_aag(zero(zero(T377)), one(b), zero(one(T377)))
addCI_in_aag(zero(one(T389)), one(b), zero(zero(T388))) → U15_aag(T389, T388, succG_in_ag(T389, T388))
U15_aag(T389, T388, succG_out_ag(T389, T388)) → addCI_out_aag(zero(one(T389)), one(b), zero(zero(T388)))
addCI_in_aag(zero(T404), one(T405), zero(T403)) → U16_aag(T404, T405, T403, addCI_in_aag(T404, T405, T403))
addCI_in_aag(one(b), zero(zero(T431)), zero(one(T431))) → U17_aag(T431, binaryZA_in_g(T431))
U17_aag(T431, binaryZA_out_g(T431)) → addCI_out_aag(one(b), zero(zero(T431)), zero(one(T431)))
addCI_in_aag(one(b), zero(one(T443)), zero(zero(T442))) → U18_aag(T443, T442, succG_in_ag(T443, T442))
U18_aag(T443, T442, succG_out_ag(T443, T442)) → addCI_out_aag(one(b), zero(one(T443)), zero(zero(T442)))
addCI_in_aag(one(T458), zero(T459), zero(T457)) → U19_aag(T458, T459, T457, addCI_in_aag(T458, T459, T457))
addCI_in_aag(one(T472), one(T473), one(T471)) → U20_aag(T472, T473, T471, addcF_in_aag(T472, T473, T471))
U20_aag(T472, T473, T471, addcF_out_aag(T472, T473, T471)) → addCI_out_aag(one(T472), one(T473), one(T471))
U19_aag(T458, T459, T457, addCI_out_aag(T458, T459, T457)) → addCI_out_aag(one(T458), zero(T459), zero(T457))
U16_aag(T404, T405, T403, addCI_out_aag(T404, T405, T403)) → addCI_out_aag(zero(T404), one(T405), zero(T403))
U23_aag(T330, T331, T329, addCI_out_aag(T330, T331, T329)) → addcF_out_aag(T330, T331, T329)
U8_aag(T264, T265, T263, addcF_out_aag(T264, T265, T263)) → addzC_out_aag(one(T264), one(T265), zero(T263))
U29_aag(T250, T251, T249, addzC_out_aag(T250, T251, T249)) → addyE_out_aag(T250, T251, T249)
U7_aag(T222, T223, T221, addyE_out_aag(T222, T223, T221)) → addzC_out_aag(one(T222), zero(T223), one(T221))
U26_aag(T202, T203, T201, addzC_out_aag(T202, T203, T201)) → addxD_out_aag(T202, T203, T201)
U6_aag(T174, T175, T173, addxD_out_aag(T174, T175, T173)) → addzC_out_aag(zero(T174), one(T175), one(T173))
U5_aag(T154, T155, T153, addzC_out_aag(T154, T155, T153)) → addzC_out_aag(zero(T154), zero(T155), zero(T153))
U30_aag(T134, T135, T133, addzC_out_aag(T134, T135, T133)) → addzJ_out_aag(zero(T134), zero(T135), zero(T133))
addzJ_in_aag(zero(T489), one(T490), one(T488)) → U31_aag(T489, T490, T488, addxD_in_aag(T489, T490, T488))
U31_aag(T489, T490, T488, addxD_out_aag(T489, T490, T488)) → addzJ_out_aag(zero(T489), one(T490), one(T488))
addzJ_in_aag(one(T507), zero(T508), one(T506)) → U32_aag(T507, T508, T506, addyE_in_aag(T507, T508, T506))
U32_aag(T507, T508, T506, addyE_out_aag(T507, T508, T506)) → addzJ_out_aag(one(T507), zero(T508), one(T506))
addzJ_in_aag(one(T519), one(T520), zero(T518)) → U33_aag(T519, T520, T518, addcF_in_aag(T519, T520, T518))
U33_aag(T519, T520, T518, addcF_out_aag(T519, T520, T518)) → addzJ_out_aag(one(T519), one(T520), zero(T518))
U37_aag(T114, T115, T113, addzJ_out_aag(T114, T115, T113)) → addK_out_aag(T114, T115, T113)
addK_in_aag(b, zero(T527), zero(T527)) → U38_aag(T527, binaryZA_in_g(T527))
U38_aag(T527, binaryZA_out_g(T527)) → addK_out_aag(b, zero(T527), zero(T527))
addK_in_aag(b, one(T533), one(T533)) → U39_aag(T533, binaryB_in_g(T533))
U39_aag(T533, binaryB_out_g(T533)) → addK_out_aag(b, one(T533), one(T533))
addK_in_aag(T548, T549, T547) → U40_aag(T548, T549, T547, addzJ_in_aag(T548, T549, T547))
U40_aag(T548, T549, T547, addzJ_out_aag(T548, T549, T547)) → addK_out_aag(T548, T549, T547)
addK_in_aag(zero(T576), zero(T577), zero(T575)) → U41_aag(T576, T577, T575, addzC_in_aag(T576, T577, T575))
U41_aag(T576, T577, T575, addzC_out_aag(T576, T577, T575)) → addK_out_aag(zero(T576), zero(T577), zero(T575))
addK_in_aag(zero(T596), one(T597), one(T595)) → U42_aag(T596, T597, T595, addxD_in_aag(T596, T597, T595))
U42_aag(T596, T597, T595, addxD_out_aag(T596, T597, T595)) → addK_out_aag(zero(T596), one(T597), one(T595))
addK_in_aag(one(T614), zero(T615), one(T613)) → U43_aag(T614, T615, T613, addyE_in_aag(T614, T615, T613))
U43_aag(T614, T615, T613, addyE_out_aag(T614, T615, T613)) → addK_out_aag(one(T614), zero(T615), one(T613))
addK_in_aag(one(T626), one(T627), zero(T625)) → U44_aag(T626, T627, T625, addcF_in_aag(T626, T627, T625))
U44_aag(T626, T627, T625, addcF_out_aag(T626, T627, T625)) → addK_out_aag(one(T626), one(T627), zero(T625))

The argument filtering Pi contains the following mapping:
addK_in_aag(x1, x2, x3)  =  addK_in_aag(x3)
b  =  b
addK_out_aag(x1, x2, x3)  =  addK_out_aag(x1, x2)
zero(x1)  =  zero(x1)
U34_aag(x1, x2)  =  U34_aag(x1, x2)
binaryZA_in_g(x1)  =  binaryZA_in_g(x1)
U1_g(x1, x2)  =  U1_g(x2)
one(x1)  =  one(x1)
U2_g(x1, x2)  =  U2_g(x2)
binaryB_in_g(x1)  =  binaryB_in_g(x1)
binaryB_out_g(x1)  =  binaryB_out_g
U3_g(x1, x2)  =  U3_g(x2)
binaryZA_out_g(x1)  =  binaryZA_out_g
U4_g(x1, x2)  =  U4_g(x2)
U35_aag(x1, x2)  =  U35_aag(x1, x2)
U36_aag(x1, x2)  =  U36_aag(x1, x2)
U37_aag(x1, x2, x3, x4)  =  U37_aag(x4)
addzJ_in_aag(x1, x2, x3)  =  addzJ_in_aag(x3)
U30_aag(x1, x2, x3, x4)  =  U30_aag(x4)
addzC_in_aag(x1, x2, x3)  =  addzC_in_aag(x3)
U5_aag(x1, x2, x3, x4)  =  U5_aag(x4)
U6_aag(x1, x2, x3, x4)  =  U6_aag(x4)
addxD_in_aag(x1, x2, x3)  =  addxD_in_aag(x3)
U24_aag(x1, x2)  =  U24_aag(x1, x2)
addxD_out_aag(x1, x2, x3)  =  addxD_out_aag(x1, x2)
U25_aag(x1, x2)  =  U25_aag(x1, x2)
U26_aag(x1, x2, x3, x4)  =  U26_aag(x4)
U7_aag(x1, x2, x3, x4)  =  U7_aag(x4)
addyE_in_aag(x1, x2, x3)  =  addyE_in_aag(x3)
U27_aag(x1, x2)  =  U27_aag(x1, x2)
addyE_out_aag(x1, x2, x3)  =  addyE_out_aag(x1, x2)
U28_aag(x1, x2)  =  U28_aag(x1, x2)
U29_aag(x1, x2, x3, x4)  =  U29_aag(x4)
U8_aag(x1, x2, x3, x4)  =  U8_aag(x4)
addcF_in_aag(x1, x2, x3)  =  addcF_in_aag(x3)
addcF_out_aag(x1, x2, x3)  =  addcF_out_aag(x1, x2)
U21_aag(x1, x2, x3)  =  U21_aag(x3)
succZH_in_ag(x1, x2)  =  succZH_in_ag(x2)
U11_ag(x1, x2)  =  U11_ag(x1, x2)
succZH_out_ag(x1, x2)  =  succZH_out_ag(x1)
U12_ag(x1, x2, x3)  =  U12_ag(x3)
succG_in_ag(x1, x2)  =  succG_in_ag(x2)
succG_out_ag(x1, x2)  =  succG_out_ag(x1)
U9_ag(x1, x2)  =  U9_ag(x1, x2)
U10_ag(x1, x2, x3)  =  U10_ag(x3)
U22_aag(x1, x2, x3)  =  U22_aag(x3)
U23_aag(x1, x2, x3, x4)  =  U23_aag(x4)
addCI_in_aag(x1, x2, x3)  =  addCI_in_aag(x3)
U13_aag(x1, x2, x3, x4)  =  U13_aag(x4)
addzC_out_aag(x1, x2, x3)  =  addzC_out_aag(x1, x2)
addCI_out_aag(x1, x2, x3)  =  addCI_out_aag(x1, x2)
U14_aag(x1, x2)  =  U14_aag(x1, x2)
U15_aag(x1, x2, x3)  =  U15_aag(x3)
U16_aag(x1, x2, x3, x4)  =  U16_aag(x4)
U17_aag(x1, x2)  =  U17_aag(x1, x2)
U18_aag(x1, x2, x3)  =  U18_aag(x3)
U19_aag(x1, x2, x3, x4)  =  U19_aag(x4)
U20_aag(x1, x2, x3, x4)  =  U20_aag(x4)
addzJ_out_aag(x1, x2, x3)  =  addzJ_out_aag(x1, x2)
U31_aag(x1, x2, x3, x4)  =  U31_aag(x4)
U32_aag(x1, x2, x3, x4)  =  U32_aag(x4)
U33_aag(x1, x2, x3, x4)  =  U33_aag(x4)
U38_aag(x1, x2)  =  U38_aag(x1, x2)
U39_aag(x1, x2)  =  U39_aag(x1, x2)
U40_aag(x1, x2, x3, x4)  =  U40_aag(x4)
U41_aag(x1, x2, x3, x4)  =  U41_aag(x4)
U42_aag(x1, x2, x3, x4)  =  U42_aag(x4)
U43_aag(x1, x2, x3, x4)  =  U43_aag(x4)
U44_aag(x1, x2, x3, x4)  =  U44_aag(x4)
BINARYZA_IN_G(x1)  =  BINARYZA_IN_G(x1)
BINARYB_IN_G(x1)  =  BINARYB_IN_G(x1)

We have to consider all (P,R,Pi)-chains

(10) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(11) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

BINARYZA_IN_G(one(T79)) → BINARYB_IN_G(T79)
BINARYB_IN_G(zero(T84)) → BINARYZA_IN_G(T84)
BINARYZA_IN_G(zero(T75)) → BINARYZA_IN_G(T75)
BINARYB_IN_G(one(T88)) → BINARYB_IN_G(T88)

R is empty.
Pi is empty.
We have to consider all (P,R,Pi)-chains

(12) PiDPToQDPProof (EQUIVALENT transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(13) Obligation:

Q DP problem:
The TRS P consists of the following rules:

BINARYZA_IN_G(one(T79)) → BINARYB_IN_G(T79)
BINARYB_IN_G(zero(T84)) → BINARYZA_IN_G(T84)
BINARYZA_IN_G(zero(T75)) → BINARYZA_IN_G(T75)
BINARYB_IN_G(one(T88)) → BINARYB_IN_G(T88)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(14) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • BINARYB_IN_G(zero(T84)) → BINARYZA_IN_G(T84)
    The graph contains the following edges 1 > 1

  • BINARYB_IN_G(one(T88)) → BINARYB_IN_G(T88)
    The graph contains the following edges 1 > 1

  • BINARYZA_IN_G(zero(T75)) → BINARYZA_IN_G(T75)
    The graph contains the following edges 1 > 1

  • BINARYZA_IN_G(one(T79)) → BINARYB_IN_G(T79)
    The graph contains the following edges 1 > 1

(15) YES

(16) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

SUCCG_IN_AG(one(T303), zero(T302)) → SUCCG_IN_AG(T303, T302)

The TRS R consists of the following rules:

addK_in_aag(b, b, b) → addK_out_aag(b, b, b)
addK_in_aag(zero(T69), b, zero(T69)) → U34_aag(T69, binaryZA_in_g(T69))
binaryZA_in_g(zero(T75)) → U1_g(T75, binaryZA_in_g(T75))
binaryZA_in_g(one(T79)) → U2_g(T79, binaryB_in_g(T79))
binaryB_in_g(b) → binaryB_out_g(b)
binaryB_in_g(zero(T84)) → U3_g(T84, binaryZA_in_g(T84))
U3_g(T84, binaryZA_out_g(T84)) → binaryB_out_g(zero(T84))
binaryB_in_g(one(T88)) → U4_g(T88, binaryB_in_g(T88))
U4_g(T88, binaryB_out_g(T88)) → binaryB_out_g(one(T88))
U2_g(T79, binaryB_out_g(T79)) → binaryZA_out_g(one(T79))
U1_g(T75, binaryZA_out_g(T75)) → binaryZA_out_g(zero(T75))
U34_aag(T69, binaryZA_out_g(T69)) → addK_out_aag(zero(T69), b, zero(T69))
addK_in_aag(one(T93), b, one(T93)) → U35_aag(T93, binaryB_in_g(T93))
U35_aag(T93, binaryB_out_g(T93)) → addK_out_aag(one(T93), b, one(T93))
addK_in_aag(b, T98, T98) → U36_aag(T98, binaryZA_in_g(T98))
U36_aag(T98, binaryZA_out_g(T98)) → addK_out_aag(b, T98, T98)
addK_in_aag(T114, T115, T113) → U37_aag(T114, T115, T113, addzJ_in_aag(T114, T115, T113))
addzJ_in_aag(zero(T134), zero(T135), zero(T133)) → U30_aag(T134, T135, T133, addzC_in_aag(T134, T135, T133))
addzC_in_aag(zero(T154), zero(T155), zero(T153)) → U5_aag(T154, T155, T153, addzC_in_aag(T154, T155, T153))
addzC_in_aag(zero(T174), one(T175), one(T173)) → U6_aag(T174, T175, T173, addxD_in_aag(T174, T175, T173))
addxD_in_aag(one(T181), b, one(T181)) → U24_aag(T181, binaryB_in_g(T181))
U24_aag(T181, binaryB_out_g(T181)) → addxD_out_aag(one(T181), b, one(T181))
addxD_in_aag(zero(T186), b, zero(T186)) → U25_aag(T186, binaryZA_in_g(T186))
U25_aag(T186, binaryZA_out_g(T186)) → addxD_out_aag(zero(T186), b, zero(T186))
addxD_in_aag(T202, T203, T201) → U26_aag(T202, T203, T201, addzC_in_aag(T202, T203, T201))
addzC_in_aag(one(T222), zero(T223), one(T221)) → U7_aag(T222, T223, T221, addyE_in_aag(T222, T223, T221))
addyE_in_aag(b, one(T229), one(T229)) → U27_aag(T229, binaryB_in_g(T229))
U27_aag(T229, binaryB_out_g(T229)) → addyE_out_aag(b, one(T229), one(T229))
addyE_in_aag(b, zero(T234), zero(T234)) → U28_aag(T234, binaryZA_in_g(T234))
U28_aag(T234, binaryZA_out_g(T234)) → addyE_out_aag(b, zero(T234), zero(T234))
addyE_in_aag(T250, T251, T249) → U29_aag(T250, T251, T249, addzC_in_aag(T250, T251, T249))
addzC_in_aag(one(T264), one(T265), zero(T263)) → U8_aag(T264, T265, T263, addcF_in_aag(T264, T265, T263))
addcF_in_aag(b, b, one(b)) → addcF_out_aag(b, b, one(b))
addcF_in_aag(T276, b, T275) → U21_aag(T276, T275, succZH_in_ag(T276, T275))
succZH_in_ag(zero(T282), one(T282)) → U11_ag(T282, binaryZA_in_g(T282))
U11_ag(T282, binaryZA_out_g(T282)) → succZH_out_ag(zero(T282), one(T282))
succZH_in_ag(one(T290), zero(T289)) → U12_ag(T290, T289, succG_in_ag(T290, T289))
succG_in_ag(b, one(b)) → succG_out_ag(b, one(b))
succG_in_ag(zero(T295), one(T295)) → U9_ag(T295, binaryZA_in_g(T295))
U9_ag(T295, binaryZA_out_g(T295)) → succG_out_ag(zero(T295), one(T295))
succG_in_ag(one(T303), zero(T302)) → U10_ag(T303, T302, succG_in_ag(T303, T302))
U10_ag(T303, T302, succG_out_ag(T303, T302)) → succG_out_ag(one(T303), zero(T302))
U12_ag(T290, T289, succG_out_ag(T290, T289)) → succZH_out_ag(one(T290), zero(T289))
U21_aag(T276, T275, succZH_out_ag(T276, T275)) → addcF_out_aag(T276, b, T275)
addcF_in_aag(b, T314, T313) → U22_aag(T314, T313, succZH_in_ag(T314, T313))
U22_aag(T314, T313, succZH_out_ag(T314, T313)) → addcF_out_aag(b, T314, T313)
addcF_in_aag(T330, T331, T329) → U23_aag(T330, T331, T329, addCI_in_aag(T330, T331, T329))
addCI_in_aag(zero(T350), zero(T351), one(T349)) → U13_aag(T350, T351, T349, addzC_in_aag(T350, T351, T349))
U13_aag(T350, T351, T349, addzC_out_aag(T350, T351, T349)) → addCI_out_aag(zero(T350), zero(T351), one(T349))
addCI_in_aag(zero(zero(T377)), one(b), zero(one(T377))) → U14_aag(T377, binaryZA_in_g(T377))
U14_aag(T377, binaryZA_out_g(T377)) → addCI_out_aag(zero(zero(T377)), one(b), zero(one(T377)))
addCI_in_aag(zero(one(T389)), one(b), zero(zero(T388))) → U15_aag(T389, T388, succG_in_ag(T389, T388))
U15_aag(T389, T388, succG_out_ag(T389, T388)) → addCI_out_aag(zero(one(T389)), one(b), zero(zero(T388)))
addCI_in_aag(zero(T404), one(T405), zero(T403)) → U16_aag(T404, T405, T403, addCI_in_aag(T404, T405, T403))
addCI_in_aag(one(b), zero(zero(T431)), zero(one(T431))) → U17_aag(T431, binaryZA_in_g(T431))
U17_aag(T431, binaryZA_out_g(T431)) → addCI_out_aag(one(b), zero(zero(T431)), zero(one(T431)))
addCI_in_aag(one(b), zero(one(T443)), zero(zero(T442))) → U18_aag(T443, T442, succG_in_ag(T443, T442))
U18_aag(T443, T442, succG_out_ag(T443, T442)) → addCI_out_aag(one(b), zero(one(T443)), zero(zero(T442)))
addCI_in_aag(one(T458), zero(T459), zero(T457)) → U19_aag(T458, T459, T457, addCI_in_aag(T458, T459, T457))
addCI_in_aag(one(T472), one(T473), one(T471)) → U20_aag(T472, T473, T471, addcF_in_aag(T472, T473, T471))
U20_aag(T472, T473, T471, addcF_out_aag(T472, T473, T471)) → addCI_out_aag(one(T472), one(T473), one(T471))
U19_aag(T458, T459, T457, addCI_out_aag(T458, T459, T457)) → addCI_out_aag(one(T458), zero(T459), zero(T457))
U16_aag(T404, T405, T403, addCI_out_aag(T404, T405, T403)) → addCI_out_aag(zero(T404), one(T405), zero(T403))
U23_aag(T330, T331, T329, addCI_out_aag(T330, T331, T329)) → addcF_out_aag(T330, T331, T329)
U8_aag(T264, T265, T263, addcF_out_aag(T264, T265, T263)) → addzC_out_aag(one(T264), one(T265), zero(T263))
U29_aag(T250, T251, T249, addzC_out_aag(T250, T251, T249)) → addyE_out_aag(T250, T251, T249)
U7_aag(T222, T223, T221, addyE_out_aag(T222, T223, T221)) → addzC_out_aag(one(T222), zero(T223), one(T221))
U26_aag(T202, T203, T201, addzC_out_aag(T202, T203, T201)) → addxD_out_aag(T202, T203, T201)
U6_aag(T174, T175, T173, addxD_out_aag(T174, T175, T173)) → addzC_out_aag(zero(T174), one(T175), one(T173))
U5_aag(T154, T155, T153, addzC_out_aag(T154, T155, T153)) → addzC_out_aag(zero(T154), zero(T155), zero(T153))
U30_aag(T134, T135, T133, addzC_out_aag(T134, T135, T133)) → addzJ_out_aag(zero(T134), zero(T135), zero(T133))
addzJ_in_aag(zero(T489), one(T490), one(T488)) → U31_aag(T489, T490, T488, addxD_in_aag(T489, T490, T488))
U31_aag(T489, T490, T488, addxD_out_aag(T489, T490, T488)) → addzJ_out_aag(zero(T489), one(T490), one(T488))
addzJ_in_aag(one(T507), zero(T508), one(T506)) → U32_aag(T507, T508, T506, addyE_in_aag(T507, T508, T506))
U32_aag(T507, T508, T506, addyE_out_aag(T507, T508, T506)) → addzJ_out_aag(one(T507), zero(T508), one(T506))
addzJ_in_aag(one(T519), one(T520), zero(T518)) → U33_aag(T519, T520, T518, addcF_in_aag(T519, T520, T518))
U33_aag(T519, T520, T518, addcF_out_aag(T519, T520, T518)) → addzJ_out_aag(one(T519), one(T520), zero(T518))
U37_aag(T114, T115, T113, addzJ_out_aag(T114, T115, T113)) → addK_out_aag(T114, T115, T113)
addK_in_aag(b, zero(T527), zero(T527)) → U38_aag(T527, binaryZA_in_g(T527))
U38_aag(T527, binaryZA_out_g(T527)) → addK_out_aag(b, zero(T527), zero(T527))
addK_in_aag(b, one(T533), one(T533)) → U39_aag(T533, binaryB_in_g(T533))
U39_aag(T533, binaryB_out_g(T533)) → addK_out_aag(b, one(T533), one(T533))
addK_in_aag(T548, T549, T547) → U40_aag(T548, T549, T547, addzJ_in_aag(T548, T549, T547))
U40_aag(T548, T549, T547, addzJ_out_aag(T548, T549, T547)) → addK_out_aag(T548, T549, T547)
addK_in_aag(zero(T576), zero(T577), zero(T575)) → U41_aag(T576, T577, T575, addzC_in_aag(T576, T577, T575))
U41_aag(T576, T577, T575, addzC_out_aag(T576, T577, T575)) → addK_out_aag(zero(T576), zero(T577), zero(T575))
addK_in_aag(zero(T596), one(T597), one(T595)) → U42_aag(T596, T597, T595, addxD_in_aag(T596, T597, T595))
U42_aag(T596, T597, T595, addxD_out_aag(T596, T597, T595)) → addK_out_aag(zero(T596), one(T597), one(T595))
addK_in_aag(one(T614), zero(T615), one(T613)) → U43_aag(T614, T615, T613, addyE_in_aag(T614, T615, T613))
U43_aag(T614, T615, T613, addyE_out_aag(T614, T615, T613)) → addK_out_aag(one(T614), zero(T615), one(T613))
addK_in_aag(one(T626), one(T627), zero(T625)) → U44_aag(T626, T627, T625, addcF_in_aag(T626, T627, T625))
U44_aag(T626, T627, T625, addcF_out_aag(T626, T627, T625)) → addK_out_aag(one(T626), one(T627), zero(T625))

The argument filtering Pi contains the following mapping:
addK_in_aag(x1, x2, x3)  =  addK_in_aag(x3)
b  =  b
addK_out_aag(x1, x2, x3)  =  addK_out_aag(x1, x2)
zero(x1)  =  zero(x1)
U34_aag(x1, x2)  =  U34_aag(x1, x2)
binaryZA_in_g(x1)  =  binaryZA_in_g(x1)
U1_g(x1, x2)  =  U1_g(x2)
one(x1)  =  one(x1)
U2_g(x1, x2)  =  U2_g(x2)
binaryB_in_g(x1)  =  binaryB_in_g(x1)
binaryB_out_g(x1)  =  binaryB_out_g
U3_g(x1, x2)  =  U3_g(x2)
binaryZA_out_g(x1)  =  binaryZA_out_g
U4_g(x1, x2)  =  U4_g(x2)
U35_aag(x1, x2)  =  U35_aag(x1, x2)
U36_aag(x1, x2)  =  U36_aag(x1, x2)
U37_aag(x1, x2, x3, x4)  =  U37_aag(x4)
addzJ_in_aag(x1, x2, x3)  =  addzJ_in_aag(x3)
U30_aag(x1, x2, x3, x4)  =  U30_aag(x4)
addzC_in_aag(x1, x2, x3)  =  addzC_in_aag(x3)
U5_aag(x1, x2, x3, x4)  =  U5_aag(x4)
U6_aag(x1, x2, x3, x4)  =  U6_aag(x4)
addxD_in_aag(x1, x2, x3)  =  addxD_in_aag(x3)
U24_aag(x1, x2)  =  U24_aag(x1, x2)
addxD_out_aag(x1, x2, x3)  =  addxD_out_aag(x1, x2)
U25_aag(x1, x2)  =  U25_aag(x1, x2)
U26_aag(x1, x2, x3, x4)  =  U26_aag(x4)
U7_aag(x1, x2, x3, x4)  =  U7_aag(x4)
addyE_in_aag(x1, x2, x3)  =  addyE_in_aag(x3)
U27_aag(x1, x2)  =  U27_aag(x1, x2)
addyE_out_aag(x1, x2, x3)  =  addyE_out_aag(x1, x2)
U28_aag(x1, x2)  =  U28_aag(x1, x2)
U29_aag(x1, x2, x3, x4)  =  U29_aag(x4)
U8_aag(x1, x2, x3, x4)  =  U8_aag(x4)
addcF_in_aag(x1, x2, x3)  =  addcF_in_aag(x3)
addcF_out_aag(x1, x2, x3)  =  addcF_out_aag(x1, x2)
U21_aag(x1, x2, x3)  =  U21_aag(x3)
succZH_in_ag(x1, x2)  =  succZH_in_ag(x2)
U11_ag(x1, x2)  =  U11_ag(x1, x2)
succZH_out_ag(x1, x2)  =  succZH_out_ag(x1)
U12_ag(x1, x2, x3)  =  U12_ag(x3)
succG_in_ag(x1, x2)  =  succG_in_ag(x2)
succG_out_ag(x1, x2)  =  succG_out_ag(x1)
U9_ag(x1, x2)  =  U9_ag(x1, x2)
U10_ag(x1, x2, x3)  =  U10_ag(x3)
U22_aag(x1, x2, x3)  =  U22_aag(x3)
U23_aag(x1, x2, x3, x4)  =  U23_aag(x4)
addCI_in_aag(x1, x2, x3)  =  addCI_in_aag(x3)
U13_aag(x1, x2, x3, x4)  =  U13_aag(x4)
addzC_out_aag(x1, x2, x3)  =  addzC_out_aag(x1, x2)
addCI_out_aag(x1, x2, x3)  =  addCI_out_aag(x1, x2)
U14_aag(x1, x2)  =  U14_aag(x1, x2)
U15_aag(x1, x2, x3)  =  U15_aag(x3)
U16_aag(x1, x2, x3, x4)  =  U16_aag(x4)
U17_aag(x1, x2)  =  U17_aag(x1, x2)
U18_aag(x1, x2, x3)  =  U18_aag(x3)
U19_aag(x1, x2, x3, x4)  =  U19_aag(x4)
U20_aag(x1, x2, x3, x4)  =  U20_aag(x4)
addzJ_out_aag(x1, x2, x3)  =  addzJ_out_aag(x1, x2)
U31_aag(x1, x2, x3, x4)  =  U31_aag(x4)
U32_aag(x1, x2, x3, x4)  =  U32_aag(x4)
U33_aag(x1, x2, x3, x4)  =  U33_aag(x4)
U38_aag(x1, x2)  =  U38_aag(x1, x2)
U39_aag(x1, x2)  =  U39_aag(x1, x2)
U40_aag(x1, x2, x3, x4)  =  U40_aag(x4)
U41_aag(x1, x2, x3, x4)  =  U41_aag(x4)
U42_aag(x1, x2, x3, x4)  =  U42_aag(x4)
U43_aag(x1, x2, x3, x4)  =  U43_aag(x4)
U44_aag(x1, x2, x3, x4)  =  U44_aag(x4)
SUCCG_IN_AG(x1, x2)  =  SUCCG_IN_AG(x2)

We have to consider all (P,R,Pi)-chains

(17) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(18) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

SUCCG_IN_AG(one(T303), zero(T302)) → SUCCG_IN_AG(T303, T302)

R is empty.
The argument filtering Pi contains the following mapping:
zero(x1)  =  zero(x1)
one(x1)  =  one(x1)
SUCCG_IN_AG(x1, x2)  =  SUCCG_IN_AG(x2)

We have to consider all (P,R,Pi)-chains

(19) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(20) Obligation:

Q DP problem:
The TRS P consists of the following rules:

SUCCG_IN_AG(zero(T302)) → SUCCG_IN_AG(T302)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(21) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • SUCCG_IN_AG(zero(T302)) → SUCCG_IN_AG(T302)
    The graph contains the following edges 1 > 1

(22) YES

(23) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

ADDXD_IN_AAG(T202, T203, T201) → ADDZC_IN_AAG(T202, T203, T201)
ADDZC_IN_AAG(zero(T154), zero(T155), zero(T153)) → ADDZC_IN_AAG(T154, T155, T153)
ADDZC_IN_AAG(zero(T174), one(T175), one(T173)) → ADDXD_IN_AAG(T174, T175, T173)
ADDZC_IN_AAG(one(T222), zero(T223), one(T221)) → ADDYE_IN_AAG(T222, T223, T221)
ADDYE_IN_AAG(T250, T251, T249) → ADDZC_IN_AAG(T250, T251, T249)
ADDZC_IN_AAG(one(T264), one(T265), zero(T263)) → ADDCF_IN_AAG(T264, T265, T263)
ADDCF_IN_AAG(T330, T331, T329) → ADDCI_IN_AAG(T330, T331, T329)
ADDCI_IN_AAG(zero(T350), zero(T351), one(T349)) → ADDZC_IN_AAG(T350, T351, T349)
ADDCI_IN_AAG(zero(T404), one(T405), zero(T403)) → ADDCI_IN_AAG(T404, T405, T403)
ADDCI_IN_AAG(one(T458), zero(T459), zero(T457)) → ADDCI_IN_AAG(T458, T459, T457)
ADDCI_IN_AAG(one(T472), one(T473), one(T471)) → ADDCF_IN_AAG(T472, T473, T471)

The TRS R consists of the following rules:

addK_in_aag(b, b, b) → addK_out_aag(b, b, b)
addK_in_aag(zero(T69), b, zero(T69)) → U34_aag(T69, binaryZA_in_g(T69))
binaryZA_in_g(zero(T75)) → U1_g(T75, binaryZA_in_g(T75))
binaryZA_in_g(one(T79)) → U2_g(T79, binaryB_in_g(T79))
binaryB_in_g(b) → binaryB_out_g(b)
binaryB_in_g(zero(T84)) → U3_g(T84, binaryZA_in_g(T84))
U3_g(T84, binaryZA_out_g(T84)) → binaryB_out_g(zero(T84))
binaryB_in_g(one(T88)) → U4_g(T88, binaryB_in_g(T88))
U4_g(T88, binaryB_out_g(T88)) → binaryB_out_g(one(T88))
U2_g(T79, binaryB_out_g(T79)) → binaryZA_out_g(one(T79))
U1_g(T75, binaryZA_out_g(T75)) → binaryZA_out_g(zero(T75))
U34_aag(T69, binaryZA_out_g(T69)) → addK_out_aag(zero(T69), b, zero(T69))
addK_in_aag(one(T93), b, one(T93)) → U35_aag(T93, binaryB_in_g(T93))
U35_aag(T93, binaryB_out_g(T93)) → addK_out_aag(one(T93), b, one(T93))
addK_in_aag(b, T98, T98) → U36_aag(T98, binaryZA_in_g(T98))
U36_aag(T98, binaryZA_out_g(T98)) → addK_out_aag(b, T98, T98)
addK_in_aag(T114, T115, T113) → U37_aag(T114, T115, T113, addzJ_in_aag(T114, T115, T113))
addzJ_in_aag(zero(T134), zero(T135), zero(T133)) → U30_aag(T134, T135, T133, addzC_in_aag(T134, T135, T133))
addzC_in_aag(zero(T154), zero(T155), zero(T153)) → U5_aag(T154, T155, T153, addzC_in_aag(T154, T155, T153))
addzC_in_aag(zero(T174), one(T175), one(T173)) → U6_aag(T174, T175, T173, addxD_in_aag(T174, T175, T173))
addxD_in_aag(one(T181), b, one(T181)) → U24_aag(T181, binaryB_in_g(T181))
U24_aag(T181, binaryB_out_g(T181)) → addxD_out_aag(one(T181), b, one(T181))
addxD_in_aag(zero(T186), b, zero(T186)) → U25_aag(T186, binaryZA_in_g(T186))
U25_aag(T186, binaryZA_out_g(T186)) → addxD_out_aag(zero(T186), b, zero(T186))
addxD_in_aag(T202, T203, T201) → U26_aag(T202, T203, T201, addzC_in_aag(T202, T203, T201))
addzC_in_aag(one(T222), zero(T223), one(T221)) → U7_aag(T222, T223, T221, addyE_in_aag(T222, T223, T221))
addyE_in_aag(b, one(T229), one(T229)) → U27_aag(T229, binaryB_in_g(T229))
U27_aag(T229, binaryB_out_g(T229)) → addyE_out_aag(b, one(T229), one(T229))
addyE_in_aag(b, zero(T234), zero(T234)) → U28_aag(T234, binaryZA_in_g(T234))
U28_aag(T234, binaryZA_out_g(T234)) → addyE_out_aag(b, zero(T234), zero(T234))
addyE_in_aag(T250, T251, T249) → U29_aag(T250, T251, T249, addzC_in_aag(T250, T251, T249))
addzC_in_aag(one(T264), one(T265), zero(T263)) → U8_aag(T264, T265, T263, addcF_in_aag(T264, T265, T263))
addcF_in_aag(b, b, one(b)) → addcF_out_aag(b, b, one(b))
addcF_in_aag(T276, b, T275) → U21_aag(T276, T275, succZH_in_ag(T276, T275))
succZH_in_ag(zero(T282), one(T282)) → U11_ag(T282, binaryZA_in_g(T282))
U11_ag(T282, binaryZA_out_g(T282)) → succZH_out_ag(zero(T282), one(T282))
succZH_in_ag(one(T290), zero(T289)) → U12_ag(T290, T289, succG_in_ag(T290, T289))
succG_in_ag(b, one(b)) → succG_out_ag(b, one(b))
succG_in_ag(zero(T295), one(T295)) → U9_ag(T295, binaryZA_in_g(T295))
U9_ag(T295, binaryZA_out_g(T295)) → succG_out_ag(zero(T295), one(T295))
succG_in_ag(one(T303), zero(T302)) → U10_ag(T303, T302, succG_in_ag(T303, T302))
U10_ag(T303, T302, succG_out_ag(T303, T302)) → succG_out_ag(one(T303), zero(T302))
U12_ag(T290, T289, succG_out_ag(T290, T289)) → succZH_out_ag(one(T290), zero(T289))
U21_aag(T276, T275, succZH_out_ag(T276, T275)) → addcF_out_aag(T276, b, T275)
addcF_in_aag(b, T314, T313) → U22_aag(T314, T313, succZH_in_ag(T314, T313))
U22_aag(T314, T313, succZH_out_ag(T314, T313)) → addcF_out_aag(b, T314, T313)
addcF_in_aag(T330, T331, T329) → U23_aag(T330, T331, T329, addCI_in_aag(T330, T331, T329))
addCI_in_aag(zero(T350), zero(T351), one(T349)) → U13_aag(T350, T351, T349, addzC_in_aag(T350, T351, T349))
U13_aag(T350, T351, T349, addzC_out_aag(T350, T351, T349)) → addCI_out_aag(zero(T350), zero(T351), one(T349))
addCI_in_aag(zero(zero(T377)), one(b), zero(one(T377))) → U14_aag(T377, binaryZA_in_g(T377))
U14_aag(T377, binaryZA_out_g(T377)) → addCI_out_aag(zero(zero(T377)), one(b), zero(one(T377)))
addCI_in_aag(zero(one(T389)), one(b), zero(zero(T388))) → U15_aag(T389, T388, succG_in_ag(T389, T388))
U15_aag(T389, T388, succG_out_ag(T389, T388)) → addCI_out_aag(zero(one(T389)), one(b), zero(zero(T388)))
addCI_in_aag(zero(T404), one(T405), zero(T403)) → U16_aag(T404, T405, T403, addCI_in_aag(T404, T405, T403))
addCI_in_aag(one(b), zero(zero(T431)), zero(one(T431))) → U17_aag(T431, binaryZA_in_g(T431))
U17_aag(T431, binaryZA_out_g(T431)) → addCI_out_aag(one(b), zero(zero(T431)), zero(one(T431)))
addCI_in_aag(one(b), zero(one(T443)), zero(zero(T442))) → U18_aag(T443, T442, succG_in_ag(T443, T442))
U18_aag(T443, T442, succG_out_ag(T443, T442)) → addCI_out_aag(one(b), zero(one(T443)), zero(zero(T442)))
addCI_in_aag(one(T458), zero(T459), zero(T457)) → U19_aag(T458, T459, T457, addCI_in_aag(T458, T459, T457))
addCI_in_aag(one(T472), one(T473), one(T471)) → U20_aag(T472, T473, T471, addcF_in_aag(T472, T473, T471))
U20_aag(T472, T473, T471, addcF_out_aag(T472, T473, T471)) → addCI_out_aag(one(T472), one(T473), one(T471))
U19_aag(T458, T459, T457, addCI_out_aag(T458, T459, T457)) → addCI_out_aag(one(T458), zero(T459), zero(T457))
U16_aag(T404, T405, T403, addCI_out_aag(T404, T405, T403)) → addCI_out_aag(zero(T404), one(T405), zero(T403))
U23_aag(T330, T331, T329, addCI_out_aag(T330, T331, T329)) → addcF_out_aag(T330, T331, T329)
U8_aag(T264, T265, T263, addcF_out_aag(T264, T265, T263)) → addzC_out_aag(one(T264), one(T265), zero(T263))
U29_aag(T250, T251, T249, addzC_out_aag(T250, T251, T249)) → addyE_out_aag(T250, T251, T249)
U7_aag(T222, T223, T221, addyE_out_aag(T222, T223, T221)) → addzC_out_aag(one(T222), zero(T223), one(T221))
U26_aag(T202, T203, T201, addzC_out_aag(T202, T203, T201)) → addxD_out_aag(T202, T203, T201)
U6_aag(T174, T175, T173, addxD_out_aag(T174, T175, T173)) → addzC_out_aag(zero(T174), one(T175), one(T173))
U5_aag(T154, T155, T153, addzC_out_aag(T154, T155, T153)) → addzC_out_aag(zero(T154), zero(T155), zero(T153))
U30_aag(T134, T135, T133, addzC_out_aag(T134, T135, T133)) → addzJ_out_aag(zero(T134), zero(T135), zero(T133))
addzJ_in_aag(zero(T489), one(T490), one(T488)) → U31_aag(T489, T490, T488, addxD_in_aag(T489, T490, T488))
U31_aag(T489, T490, T488, addxD_out_aag(T489, T490, T488)) → addzJ_out_aag(zero(T489), one(T490), one(T488))
addzJ_in_aag(one(T507), zero(T508), one(T506)) → U32_aag(T507, T508, T506, addyE_in_aag(T507, T508, T506))
U32_aag(T507, T508, T506, addyE_out_aag(T507, T508, T506)) → addzJ_out_aag(one(T507), zero(T508), one(T506))
addzJ_in_aag(one(T519), one(T520), zero(T518)) → U33_aag(T519, T520, T518, addcF_in_aag(T519, T520, T518))
U33_aag(T519, T520, T518, addcF_out_aag(T519, T520, T518)) → addzJ_out_aag(one(T519), one(T520), zero(T518))
U37_aag(T114, T115, T113, addzJ_out_aag(T114, T115, T113)) → addK_out_aag(T114, T115, T113)
addK_in_aag(b, zero(T527), zero(T527)) → U38_aag(T527, binaryZA_in_g(T527))
U38_aag(T527, binaryZA_out_g(T527)) → addK_out_aag(b, zero(T527), zero(T527))
addK_in_aag(b, one(T533), one(T533)) → U39_aag(T533, binaryB_in_g(T533))
U39_aag(T533, binaryB_out_g(T533)) → addK_out_aag(b, one(T533), one(T533))
addK_in_aag(T548, T549, T547) → U40_aag(T548, T549, T547, addzJ_in_aag(T548, T549, T547))
U40_aag(T548, T549, T547, addzJ_out_aag(T548, T549, T547)) → addK_out_aag(T548, T549, T547)
addK_in_aag(zero(T576), zero(T577), zero(T575)) → U41_aag(T576, T577, T575, addzC_in_aag(T576, T577, T575))
U41_aag(T576, T577, T575, addzC_out_aag(T576, T577, T575)) → addK_out_aag(zero(T576), zero(T577), zero(T575))
addK_in_aag(zero(T596), one(T597), one(T595)) → U42_aag(T596, T597, T595, addxD_in_aag(T596, T597, T595))
U42_aag(T596, T597, T595, addxD_out_aag(T596, T597, T595)) → addK_out_aag(zero(T596), one(T597), one(T595))
addK_in_aag(one(T614), zero(T615), one(T613)) → U43_aag(T614, T615, T613, addyE_in_aag(T614, T615, T613))
U43_aag(T614, T615, T613, addyE_out_aag(T614, T615, T613)) → addK_out_aag(one(T614), zero(T615), one(T613))
addK_in_aag(one(T626), one(T627), zero(T625)) → U44_aag(T626, T627, T625, addcF_in_aag(T626, T627, T625))
U44_aag(T626, T627, T625, addcF_out_aag(T626, T627, T625)) → addK_out_aag(one(T626), one(T627), zero(T625))

The argument filtering Pi contains the following mapping:
addK_in_aag(x1, x2, x3)  =  addK_in_aag(x3)
b  =  b
addK_out_aag(x1, x2, x3)  =  addK_out_aag(x1, x2)
zero(x1)  =  zero(x1)
U34_aag(x1, x2)  =  U34_aag(x1, x2)
binaryZA_in_g(x1)  =  binaryZA_in_g(x1)
U1_g(x1, x2)  =  U1_g(x2)
one(x1)  =  one(x1)
U2_g(x1, x2)  =  U2_g(x2)
binaryB_in_g(x1)  =  binaryB_in_g(x1)
binaryB_out_g(x1)  =  binaryB_out_g
U3_g(x1, x2)  =  U3_g(x2)
binaryZA_out_g(x1)  =  binaryZA_out_g
U4_g(x1, x2)  =  U4_g(x2)
U35_aag(x1, x2)  =  U35_aag(x1, x2)
U36_aag(x1, x2)  =  U36_aag(x1, x2)
U37_aag(x1, x2, x3, x4)  =  U37_aag(x4)
addzJ_in_aag(x1, x2, x3)  =  addzJ_in_aag(x3)
U30_aag(x1, x2, x3, x4)  =  U30_aag(x4)
addzC_in_aag(x1, x2, x3)  =  addzC_in_aag(x3)
U5_aag(x1, x2, x3, x4)  =  U5_aag(x4)
U6_aag(x1, x2, x3, x4)  =  U6_aag(x4)
addxD_in_aag(x1, x2, x3)  =  addxD_in_aag(x3)
U24_aag(x1, x2)  =  U24_aag(x1, x2)
addxD_out_aag(x1, x2, x3)  =  addxD_out_aag(x1, x2)
U25_aag(x1, x2)  =  U25_aag(x1, x2)
U26_aag(x1, x2, x3, x4)  =  U26_aag(x4)
U7_aag(x1, x2, x3, x4)  =  U7_aag(x4)
addyE_in_aag(x1, x2, x3)  =  addyE_in_aag(x3)
U27_aag(x1, x2)  =  U27_aag(x1, x2)
addyE_out_aag(x1, x2, x3)  =  addyE_out_aag(x1, x2)
U28_aag(x1, x2)  =  U28_aag(x1, x2)
U29_aag(x1, x2, x3, x4)  =  U29_aag(x4)
U8_aag(x1, x2, x3, x4)  =  U8_aag(x4)
addcF_in_aag(x1, x2, x3)  =  addcF_in_aag(x3)
addcF_out_aag(x1, x2, x3)  =  addcF_out_aag(x1, x2)
U21_aag(x1, x2, x3)  =  U21_aag(x3)
succZH_in_ag(x1, x2)  =  succZH_in_ag(x2)
U11_ag(x1, x2)  =  U11_ag(x1, x2)
succZH_out_ag(x1, x2)  =  succZH_out_ag(x1)
U12_ag(x1, x2, x3)  =  U12_ag(x3)
succG_in_ag(x1, x2)  =  succG_in_ag(x2)
succG_out_ag(x1, x2)  =  succG_out_ag(x1)
U9_ag(x1, x2)  =  U9_ag(x1, x2)
U10_ag(x1, x2, x3)  =  U10_ag(x3)
U22_aag(x1, x2, x3)  =  U22_aag(x3)
U23_aag(x1, x2, x3, x4)  =  U23_aag(x4)
addCI_in_aag(x1, x2, x3)  =  addCI_in_aag(x3)
U13_aag(x1, x2, x3, x4)  =  U13_aag(x4)
addzC_out_aag(x1, x2, x3)  =  addzC_out_aag(x1, x2)
addCI_out_aag(x1, x2, x3)  =  addCI_out_aag(x1, x2)
U14_aag(x1, x2)  =  U14_aag(x1, x2)
U15_aag(x1, x2, x3)  =  U15_aag(x3)
U16_aag(x1, x2, x3, x4)  =  U16_aag(x4)
U17_aag(x1, x2)  =  U17_aag(x1, x2)
U18_aag(x1, x2, x3)  =  U18_aag(x3)
U19_aag(x1, x2, x3, x4)  =  U19_aag(x4)
U20_aag(x1, x2, x3, x4)  =  U20_aag(x4)
addzJ_out_aag(x1, x2, x3)  =  addzJ_out_aag(x1, x2)
U31_aag(x1, x2, x3, x4)  =  U31_aag(x4)
U32_aag(x1, x2, x3, x4)  =  U32_aag(x4)
U33_aag(x1, x2, x3, x4)  =  U33_aag(x4)
U38_aag(x1, x2)  =  U38_aag(x1, x2)
U39_aag(x1, x2)  =  U39_aag(x1, x2)
U40_aag(x1, x2, x3, x4)  =  U40_aag(x4)
U41_aag(x1, x2, x3, x4)  =  U41_aag(x4)
U42_aag(x1, x2, x3, x4)  =  U42_aag(x4)
U43_aag(x1, x2, x3, x4)  =  U43_aag(x4)
U44_aag(x1, x2, x3, x4)  =  U44_aag(x4)
ADDZC_IN_AAG(x1, x2, x3)  =  ADDZC_IN_AAG(x3)
ADDXD_IN_AAG(x1, x2, x3)  =  ADDXD_IN_AAG(x3)
ADDYE_IN_AAG(x1, x2, x3)  =  ADDYE_IN_AAG(x3)
ADDCF_IN_AAG(x1, x2, x3)  =  ADDCF_IN_AAG(x3)
ADDCI_IN_AAG(x1, x2, x3)  =  ADDCI_IN_AAG(x3)

We have to consider all (P,R,Pi)-chains

(24) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(25) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

ADDXD_IN_AAG(T202, T203, T201) → ADDZC_IN_AAG(T202, T203, T201)
ADDZC_IN_AAG(zero(T154), zero(T155), zero(T153)) → ADDZC_IN_AAG(T154, T155, T153)
ADDZC_IN_AAG(zero(T174), one(T175), one(T173)) → ADDXD_IN_AAG(T174, T175, T173)
ADDZC_IN_AAG(one(T222), zero(T223), one(T221)) → ADDYE_IN_AAG(T222, T223, T221)
ADDYE_IN_AAG(T250, T251, T249) → ADDZC_IN_AAG(T250, T251, T249)
ADDZC_IN_AAG(one(T264), one(T265), zero(T263)) → ADDCF_IN_AAG(T264, T265, T263)
ADDCF_IN_AAG(T330, T331, T329) → ADDCI_IN_AAG(T330, T331, T329)
ADDCI_IN_AAG(zero(T350), zero(T351), one(T349)) → ADDZC_IN_AAG(T350, T351, T349)
ADDCI_IN_AAG(zero(T404), one(T405), zero(T403)) → ADDCI_IN_AAG(T404, T405, T403)
ADDCI_IN_AAG(one(T458), zero(T459), zero(T457)) → ADDCI_IN_AAG(T458, T459, T457)
ADDCI_IN_AAG(one(T472), one(T473), one(T471)) → ADDCF_IN_AAG(T472, T473, T471)

R is empty.
The argument filtering Pi contains the following mapping:
zero(x1)  =  zero(x1)
one(x1)  =  one(x1)
ADDZC_IN_AAG(x1, x2, x3)  =  ADDZC_IN_AAG(x3)
ADDXD_IN_AAG(x1, x2, x3)  =  ADDXD_IN_AAG(x3)
ADDYE_IN_AAG(x1, x2, x3)  =  ADDYE_IN_AAG(x3)
ADDCF_IN_AAG(x1, x2, x3)  =  ADDCF_IN_AAG(x3)
ADDCI_IN_AAG(x1, x2, x3)  =  ADDCI_IN_AAG(x3)

We have to consider all (P,R,Pi)-chains

(26) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(27) Obligation:

Q DP problem:
The TRS P consists of the following rules:

ADDXD_IN_AAG(T201) → ADDZC_IN_AAG(T201)
ADDZC_IN_AAG(zero(T153)) → ADDZC_IN_AAG(T153)
ADDZC_IN_AAG(one(T173)) → ADDXD_IN_AAG(T173)
ADDZC_IN_AAG(one(T221)) → ADDYE_IN_AAG(T221)
ADDYE_IN_AAG(T249) → ADDZC_IN_AAG(T249)
ADDZC_IN_AAG(zero(T263)) → ADDCF_IN_AAG(T263)
ADDCF_IN_AAG(T329) → ADDCI_IN_AAG(T329)
ADDCI_IN_AAG(one(T349)) → ADDZC_IN_AAG(T349)
ADDCI_IN_AAG(zero(T403)) → ADDCI_IN_AAG(T403)
ADDCI_IN_AAG(one(T471)) → ADDCF_IN_AAG(T471)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(28) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • ADDZC_IN_AAG(one(T173)) → ADDXD_IN_AAG(T173)
    The graph contains the following edges 1 > 1

  • ADDZC_IN_AAG(zero(T153)) → ADDZC_IN_AAG(T153)
    The graph contains the following edges 1 > 1

  • ADDXD_IN_AAG(T201) → ADDZC_IN_AAG(T201)
    The graph contains the following edges 1 >= 1

  • ADDYE_IN_AAG(T249) → ADDZC_IN_AAG(T249)
    The graph contains the following edges 1 >= 1

  • ADDCI_IN_AAG(one(T349)) → ADDZC_IN_AAG(T349)
    The graph contains the following edges 1 > 1

  • ADDZC_IN_AAG(one(T221)) → ADDYE_IN_AAG(T221)
    The graph contains the following edges 1 > 1

  • ADDZC_IN_AAG(zero(T263)) → ADDCF_IN_AAG(T263)
    The graph contains the following edges 1 > 1

  • ADDCF_IN_AAG(T329) → ADDCI_IN_AAG(T329)
    The graph contains the following edges 1 >= 1

  • ADDCI_IN_AAG(one(T471)) → ADDCF_IN_AAG(T471)
    The graph contains the following edges 1 > 1

  • ADDCI_IN_AAG(zero(T403)) → ADDCI_IN_AAG(T403)
    The graph contains the following edges 1 > 1

(29) YES